Classpath

4 respostas
dntalemao

Galera, voltei a usar o prompt para fins acadêmicos para compilar e executar algumas classes, porém me deparei com a seguinte dúvida.

Sendo minha classe sem definição de package localizada no diretório c:/users/principal/desktop/ compila e executa normal, porém quando eu resolvo criar um package por exemplo:

package carros;

public class CarroSport extends Carro{

}

Retorna aquela famosa exception: "Exception in thread “main” java.lang.NoClassDefFoundError:
Por que quando não defino um package no desktop não retorna essa exception?

abraços

4 Respostas

Rodrigo_Sasaki

como você está executando a classe ?

dntalemao

vou no diretório e uso o comando java CarrosSport como sempre fiz com os que eu não defini pacote. É necessário mesmo especificar o caminho no CLASSPATH?

Rodrigo_Sasaki

você tem que lembrar que a estrutura de pacotes corresponde à uma estrutura de pastas… portanto se seguir o padrão da IDE eclipse vai ter algo assim:

projeto
src
----carros
------Carro.java
------CarroSport.java
bin
----carros
------Carro.class
------CarroSport.class

o que você quer executar é o .class, portanto nessa situação, vá até a pasta bin e digite o comando

java carros.CarroSport

dntalemao

exatamente isso, consegui aqui. obrigado!

Criado 24 de julho de 2012
Ultima resposta 25 de jul. de 2012
Respostas 4
Participantes 2