Instalando o JDK

32 respostas
paloma

Instalei o JDK, mas na hora de compilar pelo prompt dá erro:

java exemplo.java

Mensagem de erro:cannot read exemplo.java
1 error

O arquivo exemplo está salvo na minha área de trabalho, alguém pode me dar uma ajuda com isso :oops:

32 Respostas

Pedrosa

De uma olhada aqui:

paloma

Foi por esse tuto que instalei o JDK, quando digito javac aparece a mesma tela que tem no tuto, mas o erro acontece quando tento compilar minha aplicação.

thiago.correa

Paloma,
antes de rodar o seu programa (em qualquer linguagem) você deve compilar o código fonte. Em java esse procedimento é assim (tomando como exemplo o seu caso)

javac exemplo.java

para rodar o seu código utilize

java exemplo
paloma

Deu essa mensagem

C:\Documents and Settings\Aloisio>java Cubo
Exception in thread "main" java.lang.NoClassDefFoundError: Cubo
paloma

Será que não é por conta de onde está salvo meu projeto, está na área de trabalho, tem algum coisa a ver ou não?

Pedrosa

Vc compilou essa classe?, vc precisa entrar no diretorio correto e executar o comando javac Classe.java e depois chamar com esse cmd java Classe, como foi dito no tutorial a sua variável de ambiente precisa estar correta.

PATH
C:\Arquivos de programas\Java\jdk1.5.0_05\bin

Pedrosa

não tem nada a ver onde vc salva, poste o codigo da classe aqui, para ajudarmos.

thiago.correa

1- A classe main do seu projeto está dentro de algum pacote (ex.: br.com.guj.ClasseMain.java)???

Se sim para compilar e depois executar use
javac br.com.guj.ClasseMain.java
java br.com.guj.ClasseMain

2- Para título de treino evite deixar o seu projeto no desktop, o mais fácil seria criar um diretório temp no raiz do c:

c:\temp>javac br.com.guj.ClasseMain.java
c:\temp>java br.com.guj.ClasseMain

ou seja toda a estrutura do seu projeto estaria abaixo do temp, ficando mais fácil para compila, rodar por linha de comando.

paloma

Aí vai o código da aplicação

package pacCubo;
import javax.swing.JOptionPane;

public class Cubo 
{
	public static void main(String[]args)
	{
		String cx1;
		double N1,Cb;
		
		cx1=JOptionPane.showInputDialog("Digite N1");
		N1=Integer.parseInt(cx1);
		
		Cb=Math.pow(N1,3);
		
		JOptionPane.showMessageDialog(null,"O cubo de N1 é: "+Cb,"CUBO DE UM NÚMERO",
		JOptionPane.INFORMATION_MESSAGE);
		
		System.exit(0);
	}
}
Rubem_Azenha

Falta configurar o classpath…
Tente adicionar uma variável de ambiente chamada CLASSPATH com valor “.;”.

paloma

As variáveis de ambiente estão assim:

PATH - C:\jdk1.5.0\bin
CLASSPATH - .;JAVA_HOME
JAVA_HOME - C:\jdk1.5.0

Eu dei esses comandos:

javac Cubo.java
Mensagem de erro:cannot read Cubo.java - error 1
java Cubo
Mensagem de erro:C:exception in thread "main" java.lang.NoClassDefFoundError:Cubo[code]
paloma

Segue o arquivo da aplicação

fdettoni

Esta linha indica que o pacote da sua classe é pacCubo, então, ele deve estar dentro de uma pasta com este nome, e o classpath deveria estar pegando “…”.

A melhor maneira de resolver isso, é remover esta linha do package já que o seu projeto tem apenas uma classe.

Com isso ele já vai funcionar.

[]'s

paloma

O código está dessa forma:

mport javax.swing.JOptionPane;

public class Cubo 
{
	public static void main(String[]args)
	{
		String cx1;
		double N1,Cb;
		
		cx1=JOptionPane.showInputDialog("Digite N1");
		N1=Integer.parseInt(cx1);
		
		Cb=Math.pow(N1,3);
		
		JOptionPane.showMessageDialog(null,"O cubo de N1 é: "+Cb,"CUBO DE UM NÚMERO",
		JOptionPane.INFORMATION_MESSAGE);
		
		System.exit(0);
	}
}

Eu dei os dois comandos:

javac Cubo.java
java Cubo

E os erros são os mesmos, nossa como é complicado pra compilar um programa tão simples.

fdettoni

Este seu ultimo código aqui para mim está OK. Tem certeza que a mensagem de erro é a mesma.

tente o comando:

“java -cp .:$CLASSPATH Cubo” se usar o linux. Se usa o windows:
“java -cp “.;%CLASSPATH%” Cubo”

Vc deve ter esquecido de setar o CLASSPATH e o JAVA_HOME nas suas variaveis de ambiente.

Não é complicado, é algum detalhe apenas. Se vc usar alguma IDE como o netbeans ou eclipse bem configurado, vai funcionar.

[]'s

thiago.correa

Paloma,

descompactei o teu zip em uma pasta c:\temp. A estrutura ficou c:\temp\Cubo\pacCubo. Para compilar utilizei

c:\temp\Cubo\pacCubo>javac pacCubo/Cubo.java

e compilou certo! Tente isso na sua máquina e para rodar o programa também.

paloma

Dá uma olhada na tela, deu essa mensagem :oops:

paloma

Mas então as aplicações que eu criar tem que ficar em C :roll:

paloma

Não sei pq todo mundo fala que pra aprender java é melhor começando pelo bloco de notas, se na hora de compilar é essa complicação toda, é mais fácil tentar no eclipse mesmo.

S

[color=blue]Oi Paloma, tudo bem ?! No inicio também tive problemas com o jdk, faz isso mesmo… instala o Eclipse e esquece o jdk… também fiz isso. :smiley:

Se precisar de algumas dicas me adiciona no msn ta ?

Valeu…
Até mais[/color]

jc_oz

Paloma, você já utilizou, alguma vez, algum sistema operacional que fosse necessário a utilização da linha de comando?

O último erro que você postou não tem nada a ver com Java, o seu sistema operacional esta te dizendo, que não encontrou o comando que você digitou.

Tente tirar esse monte de aspas que você colocou, provavelmente vai funcionar.

É tudo muito simples, você só precisa ficar um pouco mais atenta pra mensagem de erro apresentada. :wink:

fdettoni

O que falta é conhecimento, não é complicado. Pelo jeito vc não tem nenhuma experiência com linha de comando.

Olha para a mensagem de erro que vc enviou, olhe para o comando que eu mandei, e olhe para o comando que vc digitou.

Ali foi apenas um erro de digitação. Nem vou mostrar aonde está o erro, mas compare os dois comandos que vc vai ver.

[]'s

paloma

Agora deu essa mensagem
:oops:

fdettoni

Provavelmente o arquivo Cubo.class nao está ai nesta pasta.

[]'s

paloma

Dá uma olhada no arquivo.

fdettoni

Pode escrever o comando dir, e ver se aparece java.class?

Aconselho a dar uma olhada sobre linha de comando no windows, tem bastante material na internet.

[]'s

paloma

Apareceu isso aí :cry: Olha valeu pessoal, pela ajuda e boa vontade, vou ver como faço pra dar um jeito :oops:

fdettoni

Está bem ai, vc está num diretório, e a classe que vc está tentando usar está em outro.

Se vc quiser programar, não apenas java mas qualquer linguagem, vai precisar aprender mais sobre linha de comando, informatica basica, essas coisas. Uma linha de comando funciona como o windows explorer, vc vai navegando pelos diretorios e dizendo o que quer fazer lá dentro. Se vc parar em um diretório, não vai ter poder sobre os outros.

[]'s

Pedrosa

Eu compilei normal aqui, use o Eclipse e para de sofrer!

http://www.guj.com.br/posts/list/30327.java

paloma

É isso mesmo que vou fazer, valeu :lol:

Pedrosa

Mais dicas aqui:

http://www.guj.com.br/java.tutorial.artigo.143.1.guj
http://www.guj.com.br/java.tutorial.artigo.164.1.guj

Vc é de Recife?

paloma

Sou de Recife :lol:

Criado 3 de julho de 2006
Ultima resposta 4 de jul. de 2006
Respostas 32
Participantes 7