Erro ao compilar com o cmd

32 respostas
P

Oi, estou tentando copilar um aquivo no formato java, mas aparece uma mensagem de erro:
" ‘java’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes. ".

Alguém pode ajudar, estou usando o Windows Vista 8.1?

Obrigado!

32 Respostas

ThiagoA

Olá!

Esta mensagem e porque o Windows não tem uma versão do Java JDK instalada.
Siga este tutorial de instalação da Loiane Groner:

Abs!

P

Eu digito javac -version e aparece: ‘javac -version’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

Fiz tudo que falava no site que você recomendou, mas nada.

P

Consegui valeu pela ajuda.

P

Oi, eu faço isso no cmd:
java Teste.java

e aparece:
Erro: Não foi possível localizar nem carregar a classe principal Teste

L

Porque você não apontou para o seu prompt o diretório onde está a sua classe ou projeto.

Pesquise como navegar nos diretórios do seu computador via DOS e entre no diretório da sua classe ai sim você utiliza os comandos em java.

P

Então eu coloquei na pasta Java7 no cmd onde esta Teste.java e Teste.class:
C:\Java7 java Test

P

Alguém pode fazer igual esta em: http://www.loiane.com/2013/02/instalando-e-configurando-o-java-no-windows-8/
???

P

Alguém sabe como resolver esse erro?

B

Qual erro?

se esta se referindo a como compilar tente fazer os passos abaixo.

para compilar vc deve navegar ate onde salvou o seu .java no seu casso

cd /d C:\Java7 (enter) --> muda diretorio

javac Teste.java --> compila

java Teste --> executa (ñ é preciso colocar o .class).

P

Pixels15:
Oi, eu faço isso no cmd:
java Teste.java

e aparece:
Erro: Não foi possível localizar nem carregar a classe principal Teste

Então eu coloquei na pasta Java7 no cmd onde esta Teste.java e Teste.class:
C:\Java7 java Test

beto11 olha acima meu problema.

ThiagoA

Mostra pra nós como está seu código.

P

Teste.java

package teste; public class Teste { public static void main(String args []) { char sexo = 'f'; byte idade = 89; short codigo = 256; float nota = 9.4f; int alunos = 100, classes = 10; long habitantes = 9050100; double dolar = 2.62; boolean alternativa = false; System.out.println("\n sexo:" + sexo + " idade:" + idade + " codigo:" + codigo); System.out.println("\n nota:" + nota + " alunos:" + alunos + " classes:" + classes); System.out.println("\n habitantes:" + habitantes + " dolar:" + dolar + "altenativa:" + alternativa); } }

ThiagoA

Vc colocou sua classe dentro de um pacote, e para executa-lá desta
forma vc terá que utilizar um comando especifico, para que o Java
encontre corretamente o arquivo da classe compilada.

Por exemplo:

java -classpath C:\Java7 java Teste

Este artigo explica melhor:

Abs!

B

Segue um link que muito parecido com o seu daqui mesmo do forum da uma olhar q acho q vc vai resolver
deve esta faltando algum detalhe destes q tem nesse topico que eu passei.

http://www.guj.com.br/java/215477-resolvido-problemas-ao-executar-codigo-java-no-prompt

P

ThiagoA:
Vc colocou sua classe dentro de um pacote, e para executa-lá desta
forma vc terá que utilizar um comando especifico, para que o Java
encontre corretamente o arquivo da classe compilada.

Por exemplo:

java -classpath C:\Java7 java Teste

Este artigo explica melhor:

Abs!

Fiz o oque disse e nada. mesmo erro.

P

beto11:
Segue um link que muito parecido com o seu daqui mesmo do forum da uma olhar q acho q vc vai resolver
deve esta faltando algum detalhe destes q tem nesse topico que eu passei.

http://www.guj.com.br/java/215477-resolvido-problemas-ao-executar-codigo-java-no-prompt

Não entendi esse tópico no site.

B

vc ainda não consegui compilar sua classe certo?

então vamos lá.

Para compilar a sua classe pelo prompt vc primeiro deve navegar ate onde vc o salvo no seu caso “C:\Java7” porém a sua classe Teste.java encontra-se dentro do pacote “teste” então vc vai ter que para dentro desta pasta ficando o caminho “C:\Java7\teste” para isso vc pode usar o comando “CD” assim:

CD /d C:\Java7\teste

ao dar esse comando no prompt ele vai direcionar o mesmo para a pasta “C:\Java7\teste” onde se encontra a sua classe Teste.java. Certo?
Agora vc tem que compilar a sua classe para isso usa-se o comando “javac” seguido do nome da classe assim:

javac Teste.java (fique atento para as letras MAIÚSCULAS e MINÚSCULAS pois deve ser igual ao nome do arquivo em disco)

depois de feito isso no diretório “C:\Java7\teste” será criado um novo arquivo o “Teste.class” que é o arquivo que deve ser executado com o comando “java” assim:

java Teste (não e preciso colocar a extensão .class)

ao dar esse comando a saida do seu programa Teste será impressa no prompt.

tente fazer isso para ver se da certo.

P

beto11:
vc ainda não consegui compilar sua classe certo?

então vamos lá.

Para compilar a sua classe pelo prompt vc primeiro deve navegar ate onde vc o salvo no seu caso “C:\Java7” porém a sua classe Teste.java encontra-se dentro do pacote “teste” então vc vai ter que para dentro desta pasta ficando o caminho “C:\Java7\teste” para isso vc pode usar o comando “CD” assim:

CD /d C:\Java7\teste

ao dar esse comando no prompt ele vai direcionar o mesmo para a pasta “C:\Java7\teste” onde se encontra a sua classe Teste.java. Certo?
Agora vc tem que compilar a sua classe para isso usa-se o comando “javac” seguido do nome da classe assim:

javac Teste.java (fique atento para as letras MAIÚSCULAS e MINÚSCULAS pois deve ser igual ao nome do arquivo em disco)

depois de feito isso no diretório “C:\Java7\teste” será criado um novo arquivo o “Teste.class” que é o arquivo que deve ser executado com o comando “java” assim:

java Teste (não e preciso colocar a extensão .class)

ao dar esse comando a saida do seu programa Teste será impressa no prompt.

tente fazer isso para ver se da certo.

Fiz tudo isso e quando chega na parte: java Teste, aparece no cmd:

Erro: Não foi possível localizar nem carregar a classe principal Teste

OBS: Coloquei no cmd javac -version e aparece:

javac 1.8.0_45

Coloquei no cdm java -version e aparece:

java version "1.8.0_45" java (TM) SE Runtime Environment ...

Significa que esta tudo instalado e configurado. E agora?

B

Posta como esta configurada as suas variaveis de ambiente JAVA_HOME, CLASSPATH, PATH

B

Outra duvida após compilar esta gerando o Teste.class no diretório?

P

Então esta assim as variáveis de ambiente:

Variáveis de usuário para USER:
Variável - Valor
----JAVA_HOME - C:\Program Files\Java\jdk1.8.0_45

Variáveis de sistema:
Variável - Valor
----CLASSPATH - .;%JAVA_HOME%\lib\tools.jar
----Path - C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Intel\Intel® Management Engine Components\DAL;C:\Program Files\Intel\Intel® Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel® Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel® Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;c:\Program Files\Microsoft SQL Server\100\Tools\Binn;c:\Program Files\Microsoft SQL Server\100\DTS\Binn;%JAVA_HOME%\bin
----JAVA_HOME - C:\Program Files\Java\jdk1.8.0_45

P

Sim criou o Teste.class.

P

Copilar eu consigo o que não consigo é rodar usando o comando: java Teste.

A

Tente usar o comando:

C:\pastadaclasse>java -cp . Teste

P

Apareceu:

Error: Não foi possível localizar nem carregar a classe principal Teste

A

Voce tem que estar dentro da pasta onde está o .class

E o comando deve ser igual tá ali com o “.” ponto

P

Agora quando escrevo no cmd: java Teste, aparece:

Error: Não foi possível localizar nem carregar a classe principal Teste

Ao inves de:

" ‘java’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes. "

P

andersonscherrer:
Voce tem que estar dentro da pasta onde está o .class

E o comando deve ser igual tá ali com o “.” ponto

Coloquei no cmd na pasta onde esta o .java e .class e escrevi igual com “.”.

A

Tenta tirar a declaração de package da classe compilar de novo e executar

P

Aleluia… Fiz o que você disse e deu.

Mas por que tenho que tirar o package?

P

Agora outro problema:

A

porque essa declaração faz com que o java tenha que buscar ela dentro do pacote que vc declarou teria que usar ele pra invocar a classe é mais facil de você entender quando for empacotar as classes num .jar

Criado 24 de maio de 2015
Ultima resposta 28 de mai. de 2015
Respostas 32
Participantes 5