[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Compilação do EP1
Olá pessoal,
Alguns alunos reclamaram que não conseguiram compilar o exemplo dado pelo
professor. Ainda, alguns daqueles que compilaram ao executar java Main não
conseguiram rodar o programa.
Após um longo e tenebroso tempo, consegui compilar os arquivos, cuja
localização segue ([raiz] = C:\Thiago Rodrigo\java):
> [raiz]\Main.java
> [raiz]\br\usp\ime\mac212\adventure\Place.java
> [raiz]\br\usp\ime\mac212\util\Console.java
A compilação foi feita primeiramente usando os comandos:
> javac Main
> javac Place
> javac Console
sempre no diretório da classe corrente!
Na hora de executar o programa, utilizei o comando:
> java Main
no diretório [raiz].
Apareceu a seguinte mensagem de erro:
------------------------------------------------------------------------
Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name:
br/
usp/ime/mac212/adventure/Main)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
------------------------------------------------------------------------
Tentei a alternativa sugerida pelo Démerson, retirando as declarações
package e import -- relacionadas a br.usp.ime.mac212.adventure ou
br.usp.ime.mac212.util) de cada um dos arquivos (Main, Place e Console).
Compilei novamente os referidos arquivos, sem maiores problemas após essas
mudanças.
Ao executar o programa Main utilizando o comando
> Java Main
apareceu a mesma mensagem de erro de execução acima.
Uma alternativa que eu utilizei antes e após as modificações sugeridas pelo
Démerson foi colocar todos os arquivos no diretório [raiz], mas também deu
erro na execução (mas compilou corretamente).
Outra alternativa que eu tentei antes e após as modificações comentadas pelo
monitor foi colocar os arquivos Main.class e Place.class no diretório:
[raiz]\br\usp\ime\mac212\adventure\
e o arquivo Console no diretório
[raiz]\br\usp\ime\mac212\util\
Em ambas as alternativas, apareceu novamente a mesma mensagem de erro!
Acredito que se esgotaram as possibilidades mais óbvias e eu não imagino
mais o que fazer!
Alguém tem alguma idéia do que fazer?
Abraços,
---------------------------------------------------
Thiago Rodrigo :-)
---------------------------------------------------
Matemática/Estatística - IME-USP
Criação e desenvolvimento web - USP
E-mail: thiagorodrigo@ime.usp.br
Site: http://www.ime.usp.br/~trodrigo
ICQ: 28330228
---------------------------------------------------