Usuario do linux Ubuntu via terminal cria a classe mais não encontra
“Erro: Não foi possível localizar nem carregar a classe principal PrimeiroProgama”
Se alguém puder me ajudar agradeço desde já.
Usuario do linux Ubuntu via terminal cria a classe mais não encontra
“Erro: Não foi possível localizar nem carregar a classe principal PrimeiroProgama”
Se alguém puder me ajudar agradeço desde já.
O que você está fazendo exatamente ?
Achei o tópico meio confuso, está tentando executar um .jar
pelo terminal, é isso ?
Não,estou fazendo o basico javac arquivo.java e java arquivo.
Desculpe se pareceu confuso.
Bom eu estou entrando com o terminal a onde está java.class que foi criado e recebo na mensagem acima.
No linux não sei quais são as configurações do java, mas no windows é só questão de definir as variáveis de ambiente.
O problema é igual a este | [RESOLVIDO] Classe principal não pode ser encontrada | Agora estou no Windows e seque não reconhecendo o arquivo .class
Como estão as configurações da sua JAVA_HOME
e Path
?
JAVA_HOME
;%JAVA_HOME%\bin
path
C:\Arquivos de Programas\Java\jdk1.8.0_191
Acredito que suas configurações estão erradas!
Veja:
Agora apareceu está mensagem de erro.
()
O caminho que você está tentando acessar está correto ?
Isso acontece porque a classe CPrincipal não foi encontrada.
Os caminhos das variaveis de ambiente são estes:
CLASSPATH
;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_191\
PATH
;%JAVA_HOME%\bin
O caminho da classe do seu projeto, não o das configurações!
As configurações estão corretas agora.
Mais o caminho é o mesmo…
[]
Não se utiliza a variável de ambiente CLASSPATH
já faz uns 20 anos.
O classpath
é específico para cada aplicação e deve ser informado via META-INF
ou via parâmetro da máquina virtual.
JAVA_HOME
e PATH
devem conter:
JAVA_HOME=<pasta raíz do seu JDK>
PATH=<caminhos existentes>;%JAVA_HOME%\bin;
Mas mensagem de erro persiste
É que você está tentando executar sua classe assim:
java .\CPrincipal
E o correto é assim:
java -classpath . CPrincipal
Continua dando erro:
java -classpath . CPrincipal
PS C:\Users\Donato> cd C:\Users\Donato\Downloads\java
PS C:\Users\Donato\Downloads\java> java -classpath . CPrincipal
Exception in thread “main” java.lang.UnsupportedClassVersionError: CPrincip
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: CPrincipal. Program will exit.
PS C:\Users\Donato\Downloads\java>
Qual a versão do javac
e qual a versão do java
?
Executa isso:
javac -version
E isso:
java -version
PS C:\Users\Donato> java -version
java version "1.6.0_23"
Java™ SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot™ Client VM (build 19.0-b09, mixed mode, sharing)
PS C:\Users\Donato> javac -version
javac 1.8.0_191
javac 1.8.0_191
java 1.6.0_23
Entendeu o problema? Seu JDK é 1.8 e o seu JRE é 1.6.
Você está compilando para Java 1.8 mas está tentando executar com Java 1.6.
Você pode compilar seus fontes passando para o javac
o parâmetro -target 1.6
Mas recomendo você usar um JRE da mesma versão que o seu JDK.