Comando java utilizando pacotes e classpath nao executa corretamente  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Ola pessoal. Estou estudando para SCJP e no capitulo 10 do livro da KS esta explicando os comandos java, javac etc.
Com isso surgiu algumas duvidas referente a minha execução de teste.

Com base nesta classe surgiu as duvidas referente a execucao do comando java: Sendo que a classe java vai estar dentro de source e o class dentro de classes.

myproject
|-- source
|-- classes




Com isso eu compilei a classe com o comando:


Dae ele criou a arvore de diretorios corretamente pois estou usando pacotes. Agora quando vou executar a classe compilada ele da erro dizendo que nao encontrou a classe. Estou dentro de myproject e digitei o comando:



Ele deu a mensagem de erro dizendo que nao encontrou a classe. Mas eu olho dentro do diretorio e a classe compilada esta la. O que pode estar de errado?

Obrigado...


omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
jhonatandarosa
JavaBaby

Membro desde: 18/06/2008 15:51:18
Mensagens: 97
Localização: Florianópolis / SC
Offline

É porque para compilar você deve representar os pacotes na estrutura de diretórios... utilizando barra ( / ), porém para executar, você deve representar os pacotes na estrutura que você declara os pacotes dos seu código fonte, ou seja utilizando ponto ( . ).

Tente executar sua classe com esse comando...




[]'s

Jhonatan da Rosa
----------------------------
Desenvolvedor Java e Oracle
----------------------------
SCJA 1.0
SCJP 5.0
----------------------------
Target => SCWCD
omaisnormalbaba
JavaGuru

Membro desde: 27/03/2006 18:45:11
Mensagens: 223
Localização: Passos - Mg
Offline

Desculpe pessoal, outra duvida...

Veja se minhas regras estao corretas..Com base nessas classes:


Outra


1- Se a classe nao tiver declaracao de pacotes (MyTest) eu consigo compilar a classe usando o comando normal ou ate mesmo usando a opcao -classpath. Para executar eu sempre tenho que usar a opcao -classpath seguida do diretorio e nome da class.

2- Se a classe tiver declaracao de pacote (br.com.MyClass) o correto para compilar e executar a classe com sucesso depois é usando o comando "javac -d" + seguido do diretorio de destino onde vai ficar o .class desta classe + nome da classe (MyClass.java). OBS : Se acaso eu compilar esta classe com o comando "javac -classpath . MyClass.java" eu nao consigo executar depois porque eu tenho que montar a estrutura de diretorios do pacote declarado na classe. O corretto seria "javac -d . MyClass.java".

Agora com classes com import de outras classes



3 - Se eu tiver que compilar e executar essa classe (TestClass) eu sempre tenho que informar a opcao -classpath seguida do diretorio onde se encontra a raiz da classe importada. Ex = "javac -classpath . TestClass.java". Para executar é a mesma coisa "java - classpath . TestClass".

Estao corretas essas afirmacoes?


Obrigado a todos e desculpem-me.

omaisnormalbaba!!!!!!!!!!!!
[Email] [MSN]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team