Compilar e executar java na linha de comando

Boa tarde.
Estou com um problema que não consigo nem compilar e nem executar minhas classes java pela linha de comando.
Meu projeto tem a seguinte estrutura:

  • PHHA
    • com
      -database
      -xxx.yyy.ha
      -zzz.www.xy

Minha classe main está no pacote xxx.yyy.ha. Porém ela utiliza classes que estão nos outros pacotes.
Quando tento executar “javac Main.java” sai pipocando erro nas classes que deveriam ser importadas e inclusive no import falando que não encontrou a classe descrita no import.
Porém as classes estão compiladas, pois utilizei a IDE eclipse e a mesma não acusa erro, e consigo executa-la pelo run.
Quando tento executar pelo comando “java Main” ele joga a exception java.lang.NoClassDefFoundError.

Alguem poderia me ajudar, pois como sou escravo do eclipse, não sei direito o que fazer quando utilizo linha de comando.

Obrigado pela atenção.
Aguardo retorno.

http://www.guj.com.br/artigos.jsp#-751758634

Cara, você tem que compilar usando “-d”.

Assim, ele criará os pacotes no diretório do projeto criado.

Ex: javac -d nome_arquivo_com_main.java

[]'s

Galera, o meu problema é que ja está tudo compilado via eclipse, porém na hora de compilar via linha de comando não vai nem com o -d.
Tipo, não compila nem executa via linha de comando. E os erros que aceusam são nas classes importadas e .jar que são utilizados.
Ex: tem o log4j.jar no buid path do eclipse. Eu ponho para executar e vai tudo beleza. Na linha de comando quando ponha pra compilar ele da erro no import que a classe Main faz do log4j.
Eu lembro de alguma coisa de set o PATH quando se utiliza linha de comando. Tem alguma coisa a ver ?

Sugestões ?
Abraços.

http://www.guj.com.br/java.tutorial.artigo.108.1.guj

[]'s
Homero

o jre esta instalado
se vc usa outros pacotes vc ja colou la no jre

Ex: tem o log4j.jar no buid path do eclipse. Eu ponho para executar e vai tudo beleza. Na linha de comando quando ponha pra compilar ele da erro no import que a classe Main faz do log4j.
Eu lembro de alguma coisa de set o PATH quando se utiliza linha de comando. Tem alguma coisa a ver ?

nao tenho como ver o diretório correto agora dentro do jre que deve colar seu pacotes adicionais.
mas se colar lá nao precisa configurar o PATH.
isto é feito la no propriedades do sistema/avançado/variaveis de ambiente
nao lembro como.
:slight_smile: acho que nao ajudo muito

Você não está tentando executar a sua classe que contém o main colocando a extensão “.class”, né?

Como eu faço para compilar (javac) várias classes de vários pacotes por linha de comando.

Em algum momento da minha vida eu acho q usei o find para buscar *.java e salvar num arquivo. Não lembro o q fiz. Gostaria de saber se esse é o único modo ou se o próprio javac tem algum argumento q facilita a vida.