Boa noite, eu estou tentando compilar e executar meus códigos java pelo terminal do Ubuntu, mas me deparo com o seguinte erro:
javac: file not found: /home/alan/Java/OlaMundo.java
Usage: javac <options> <source files>
use -help for a list of possible options
Exception in thread "main" java.lang.NoClassDefFoundError: /home/alan/Java/OlaMundo
Caused by: java.lang.ClassNotFoundException: .home.alan.Java.OlaMundo
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /home/alan/Java/OlaMundo. Program will exit.
gustavocoolt obrigado pelo comentário, você tem razão, eu estava organizando os meus documentos e acabei trocando de pasta. Esse logo abaixo é o erro que realmente aparece:
Exception in thread "main" java.lang.NoClassDefFoundError: /home/alan/Programas/Java/OlaMundo
Caused by: java.lang.ClassNotFoundException: .home.alan.Programas.Java.OlaMundo
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /home/alan/Programas/Java/OlaMundo. Program will exit.
root@Alan-PC:/home/alan#
pmlm, muito obrigado, consegui executar o programa.
Deixa eu ver se entendi corretamente, eu só posso usar o comando “java nomeDaClasse” se eu estiver no diretório em que a classe foi gerada? Caso não esteja eu uso um cd para ir para la ou uso “java -classpath diretorio/nomeDaClasse”?
[quote=Starkk]pmlm, muito obrigado, consegui executar o programa.
Deixa eu ver se entendi corretamente, eu só posso usar o comando “java nomeDaClasse” se eu estiver no diretório em que a classe foi gerada? Caso não esteja eu uso um cd para ir para la ou uso “java -classpath diretorio/nomeDaClasse”?
[/quote]
Nao, na verdade vc usa da onde voce quiser, mas o caminho ate voce chegar la voce define no parametro classpath, igualzinho como ele utilizou.
Por isso é mais facil voce ir ate o diretorio com o cd… rsrs
Gleidson Henrique, obrigado pela ajuda. Consegui entender agora =)
leandropena, obrigado pela dica. Eu dei uma olhada e não entendi muito bem pelo fato de ser iniciante ainda. Mas vou dar uma olhada nessa classe um pouco melhor depois.
Obrigado a todos por me ajudarem a solucionar meu problema.