Não consigo executar uma classe com o comando JAVA [Resolvido]

3 respostas
ataufo

Pessoal, não consigo executar uma classe pelo prompt de comando, não sei o que está errado. Segue o que eu já fiz:

Configuração das Variaveis de Ambiente:
Classpath: JAVA_HOME;.
JAVA_HOME: C:\Arquivos de programas\Java
Path: …;C:\Arquivos de programas\Java\jdk1.6.0\bin

Exemplo: Inseri o arquivo TesteThread.class no diretório c:\threads

Resultado:

C:>java TestThread

Exception in thread "main" java.lang.NoClassDefFoundError: TesteThread

Caused by: java.lang.ClassNotFoundException: TesteThread

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)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

Error: Could not find the main class.

Error: A JNI error has occurred, please check your installation and try again
package threads;
public class TesteThread extends Thread {

	public TesteThread(String str) {
        super(str);
    }
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println(i + " " + getName());
            try {
                sleep((long)(Math.random() * 1000));
            } catch (InterruptedException e) {}
        }
        System.out.println("DONE! " + getName());
    }


	public static void main(String[] args)
	{
		new TesteThread("Nome da Thread").start();
		new TesteThread("Nome da Thread 2").start();
	}

}

OBS: A classe está executando normalmente no Eclipse.

Alguem me ajuda???

3 Respostas

L

Boa noite Ataufo…
Não sei se assim vai funcionar…

mas tente entrar dentro da pasta primeiro…

c:>cd TestThread

C:\TestThread> java TestThread

ataufo

Não funciona, pois ele está no package threads. Então ele procura por threads/TesteThread.class

ataufo

Eu já entendi, por ele estar em um pacote eu devo chamar da seguinte forma:

C:&gt;java threads.TestThread

pois uma vez em um pacote seu nome se torna atômico.

Criado 28 de julho de 2009
Ultima resposta 28 de jul. de 2009
Respostas 3
Participantes 2