Dúvida com CLASSPATH em um sistema exemplo etc

1 resposta
D

Seguinte...

Meu classpath é: C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\lib;C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps

Ou seja, coloquei 2 diretórios como classpath porque o primeiro já é por default do tomcat e o segundo é porque quero poder usar os pacotes específicos de cada sistema.

Tenho um sistema de exemplo no seguinte diretório: "C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\phonebook".
Dentro desse diretório tem os arquivos PhoneBook.java, PhoneBookCluster.java, PhoneBookClusterStress.java, PhoneBookIndexing.java, PhoneBookStress.java

Eu compilo tudo numa boa mas depois para executar ocorre o seguinte erro:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\webapps\phonebook
>java PhoneBook
Exception in thread "main" java.lang.NoClassDefFoundError: PhoneBook
Caused by: java.lang.ClassNotFoundException: PhoneBook
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: PhoneBook.  Program will exit.

Quando eu coloco todos os *.class dentro do diretório "C:\Arquivos de programas\Apache Software Foundation\Tomcat 6.0\lib" o sistema RODA NUMA BOA. Mas eu não quero lotar esse diretório! Eu quero que o sistema rode com os *.class DO SISTEMA NO PRÓPRIO DIRETÓRIO DO SISTEMA.

Alguém pode me dar uma luz?

Já li um artigo sobre classpath, mas não consegui resolver meu problema.

1 Resposta

D

Achei o problema!!!

É só colocar o nome do pacote antes da Main Class no comando: “java phonebook.PhoneBook”

Resolvido!

Criado 4 de fevereiro de 2010
Ultima resposta 4 de fev. de 2010
Respostas 1
Participantes 1