[RESOLVIDO] Ajuda para rodar programa JAVA no DOS

6 respostas
I

Olá pessoal.

O código abaixo eu consigo rodar no NetBeans IDE 6.9:

package br.com.impacta.capitulo01;

import java.util.Scanner;

public class LeituraScanner {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("Entre com o primeiro numero: ");
        int num1 = sc.nextInt();

        System.out.println("Entre com o segundo numero: ");
        int num2 = sc.nextInt();

        int result = num1 + num2;

        System.out.println("A soma dos dois numeros são: " +result);



    }

}

No DOS, Eu consigo compilar com javac, mas ao rodar o programa java, dá o erro abaixo:

C:\JAVA\NetBeens\Projetos\ImpactaModulo02\src\br\com\impacta\capitulo01>java LeituraScanner
Exception in thread "main" java.lang.NoClassDefFoundError: LeituraScanner (wrong name: br/com/impacta/capitulo01/LeituraScanner)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
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: LeituraScanner. Program will exit.

C:\JAVA\NetBeens\Projetos\ImpactaModulo02\src\br\com\impacta\capitulo01>

Mas se eu for no código java e comentar a linha do pacote(//package br.com.impacta.capitulo01), compilar novamente, aí o programa roda normalmente.

Estou usando o Windows 7 - Ultimate, é que eu não lembro muito bem, mas eu acho que conseguia compilar e rodar no DOS com o pacote.

Vocês poderiam ajudar nessa dúvida se posso mesmo executar no DOS usando o pacote?

Entendi mais ou menos que o erro "wrong name: br/com/impacta/capitulo01/LeituraScanner" parece ser na barra normal e no windows é barra invertida, seria isso? Como resolver?

Valeu

6 Respostas

E

Tente

java -cp C:\JAVA\NetBeens\Projetos\ImpactaModulo02\bin  br.com.impacta.capitulo01.LeituraScanner

Ao rodar um programa Java, você sempre precisa passar o nome completo da classe, incluindo o nome do pacote. A mensagem de erro é um pouco “enganosa” porque pôe as barras “/” - ela é uma mensagem “histórica”, porque ela vem desde o tempo em que o Java tinha outro nome (Oak) e as partes do nome de um pacote eram separadas por barras, não pontos. Não tem nada a ver com Windows X Unix ou sei lá o quê.

EDIT - não tinha visto que você tinha compilado com o NetBeans (não NetBeens).

E

E o nome do produto é “NetBeans” (bean = feijão), não “NetBeens” (been = particípio passado do verbo to be)

I

entanglement:
Tente

java -cp C:\JAVA\NetBeens\Projetos\ImpactaModulo02\bin  br.com.impacta.capitulo01.LeituraScanner

Ao rodar um programa Java, você sempre precisa passar o nome completo da classe, incluindo o nome do pacote. A mensagem de erro é um pouco “enganosa” porque pôe as barras “/” - ela é uma mensagem “histórica”, porque ela vem desde o tempo em que o Java tinha outro nome (Oak) e as partes do nome de um pacote eram separadas por barras, não pontos. Não tem nada a ver com Windows X Unix ou sei lá o quê.

EDIT - não tinha visto que você tinha compilado com o NetBeans (não NetBeens).

Não funcionou, o arquivo está nesse diretório:

C:\JAVA\NetBeens\Projetos\ImpactaModulo02\src\br\com\impacta\capitulo01\LeituraScanner.java

[b]Poderia, por favor ensinar como compilar e rodar usando o pacote br.com.impacta.capitulo01?

Eu criei o diretório com o nome errado NetBeens rsrsrsrsrs, depois eu arrumo.[/b]

E

Queria saber, nesse seu computador, onde é que ficou o arquivo LeituraScanner.class. (Acho que você sabe localizar arquivos, não?)

Se ele ficou em C:\JAVA\NetBeens\Projetos\ImpactaModulo02\bin\br\com\impacta\capitulo01\LeituraScanner.class , então o comando é aquele que lhe passei.

Se ele não ficou nesse diretório, então por favor substitua a parte do comando que lhe passei pelo diretório correto.

I

entanglement:
Queria saber, nesse seu computador, onde é que ficou o arquivo LeituraScanner.class. (Acho que você sabe localizar arquivos, não?)

Se ele ficou em C:\JAVA\NetBeens\Projetos\ImpactaModulo02\bin\br\com\impacta\capitulo01\LeituraScanner.class , então o comando é aquele que lhe passei.

Se ele não ficou nesse diretório, então por favor substitua a parte do comando que lhe passei pelo diretório correto.

Depois de compilar, o arquivo LeituraScanner.class ficou no diretório C:\JAVA\NetBeens\Projetos\ImpactaModulo02\src\br\com\impacta\capitulo01

Mas não funcionou o comando que você passou:

I

Valeu pela ajuda entanglement, troquei o diretorio bin por src e funcionou

java -cp C:\JAVA\NetBeens\Projetos\ImpactaModulo02\src  br.com.impacta.capitulo01.LeituraScanner
Criado 14 de julho de 2010
Ultima resposta 14 de jul. de 2010
Respostas 6
Participantes 2