Mensagem de erro

Cara já consegui fazer os path, deu tudo certo, para tester eu digitei na raiz o comando “java -version”, ele me deu a versão, tudo ok!
porém eu digitei um programinha bem simples de inicante que está no livro, um programinha de hello world só para testar, salvei com o nome teste.java no diretório java que criei, acessei o diretório e digitei “javac teste.java” e ele está dando o seguinte erro:

teste.java:1: class PrimeiroProgramaJava is public, should be declared in a file named PrimeiroProgramaJava
public class PrimeiroProgramaJava {
^

1 error

Os códigos do programa que criei é esse:

public class PrimeiroProgramaJava {
public static void main(String args[]) {
System.out.println (“Bem vindo ao Java!”);
}
}

Qual é o problema :?:

Hum, com que nome vc salvou esse seu programa…
ele deve ser salvo com o mesmo nome que vc declarou em

public class Xuxu

o nome do arquivo deverá ser Xuxu.java

[]'s

Eu salvei ele com o nome “teste.java”, mas no public class está “PrimeiroProgramaJava”.
Mas eu copiei identico as linhas de comando que está no livro! :???: .
Vou fazer o que você falou, cara já te dou uma resposta!

[quote=“alexandremanowar”]Eu salvei ele com o nome “teste.java”, mas no public class está “PrimeiroProgramaJava”.
Mas eu copiei identico as linhas de comando que está no livro! :???: .
Vou fazer o que você falou, cara já te dou uma resposta![/quote]

Se o nome da classe é PrimeiroProgramaJava, você deve salvar o arquivo com o nome PrimeiroProgramaJava.java e compilar com o comando:
javac PrimeiroProgramaJava.java

Cara fiz toda a configuração no windows, compilei e funcionou tudo ok :lol:
Mas no linux aconteceu o seguinte eu compilei usando o camando “javac teste.java”, até aí tudo bem mas quando eu fui executar o arquivo com o camando “java teste.java” ele deu a seguinte mensagem de erro:
“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”
Isso no linux. Qual seria o problema?

Você somente coloca a extensão na hora de compilar.

Execute o comando:

java teste

Cara fiz o arquivo outra vez usei o o javac da seguinte forma: “javac teste.java”, funcionou legal. Mas quando fui executar tentei de duas formas: “java teste.java” e não deu certo aí tentei “java teste” também não funcionou ambos deu a mesma mensagem de erro:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Isso lembrando que estou usando linux! para confirmar reinstalei o java e refiz o path no arquivo Sun-java2.sh indicando o endereço onde eu instalei o java tentei outra vez e deu a mesma mensagem de erro, é só na hora de usa o camando “java teste.java” ou “java teste” ele me dá essa mensagem de erro, qual será o problema. O interessante é que para testar eu digito “java -version” e ele me mostra a versão do java logo o path está correto!
Alguém pode me ajudar? Estou usando conectiva 10

Cara fiz o arquivo outra vez usei o o javac da seguinte forma: “javac teste.java”, funcionou legal. Mas quando fui executar tentei de duas formas: “java teste.java” e não deu certo aí tentei “java teste” também não funcionou ambos deu a mesma mensagem de erro:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Isso lembrando que estou usando linux! para confirmar reinstalei o java e refiz o path no arquivo Sun-java2.sh indicando o endereço onde eu instalei o java tentei outra vez e deu a mesma mensagem de erro, é só na hora de usa o camando “java teste.java” ou “java teste” ele me dá essa mensagem de erro, qual será o problema. O interessante é que para testar eu digito “java -version” e ele me mostra a versão do java logo o path está correto!
Alguém pode me ajudar? Estou usando conectiva 10

mais vc ta salvando o arquivo.java com o mesmo nome da sua classe
certo?

Rapaz, eu também já tive estes problemas no Linux e no Windows. Desconfio que seja o CLASSPATH. Veja se a variável CLASSPATH inclui o dirétório corrente, ou seja, tem o ponto. Exemplo no windows:
CLASSPATH=%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\tools.jar;.

Testa aí e manda uma resposta pra ver. Caso não dê certo tenta o seguinte:

java -cp PrimeiroProgramaJava.class PrimeiroPrograma

Pessoal, se o cara executa “java -version” e retorna a versão significa que o path está correto. Essa mensagem está dando pq o arquivo não tem o mesmo nome na implementação da classe.

Se o arquivo chama-se teste.java, implemente:

public class teste {

}

Precisa setar as variáveis de ambiente.
Veja aqui como de acordo com o S.O. :

http://www.portaljava.com.br/home/modules.php?name=Forums&file=viewtopic&t=9607&start=0&sid=0d133af2bd08a629cdad2316460ad412

Abraço

A classe está assim “public class teste{…
}” e o nome do arquivo é “teste.java”!
quero lembrar a todos que quando eu digito o comando “javac teste.java”, ele executa normalmente, mas quando digito “java teste.java” ou “java teste” ele dá a seguinte mensagem de erro:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Isso está acontecendo no linux!
Qual será o problema :?:
Não acredito que seja no path porque ele executa os demais comandos como “javac ou java -version…” é apenas quando eu digito “java teste.teste” ou “java teste” para ele executar o arquivo.
eu trabalho com dois sistemas: No windows 2003 fucionou tudo, no linux deu esse problema :!:
Alguém consegue resolver isso, está muito complicado :sad:

[quote=“alexandremanowar”]A classe está assim “public class teste{…
}” e o nome do arquivo é “teste.java”!
quero lembrar a todos que quando eu digito o comando “javac teste.java”, ele executa normalmente, mas quando digito “java teste.java” ou “java teste” ele dá a seguinte mensagem de erro:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Isso está acontecendo no linux!
Qual será o problema :?:
Não acredito que seja no path porque ele executa os demais comandos como “javac ou java -version…” é apenas quando eu digito “java teste.teste” ou “java teste” para ele executar o arquivo.
eu trabalho com dois sistemas: No windows 2003 fucionou tudo, no linux deu esse problema :!:
Alguém consegue resolver isso, está muito complicado :sad:[/quote]

Alexandre,
Vamos com calma . . posta aqui pra gente o código da classe inteira para eu rodar o seu programa aqui.
Ai nós vamos eliminando os erros até encontrar o que está acontecendo Ok?

Abraço

Esse é o código bem simples:

public class teste {
public static void main(String args[]) {
System.out.println (“Bem vindo ao Java!”);
}
}

Ele está salvo com o nome de teste.java, e eu já usei o comando “javac teste.java”. Funcionou legal
A mensagem de erro aparece quando eu digito “java teste.java ou java.teste”, tentei os dois modos. Isso em Linux da essa mensagem:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Em Windows 2003 server rodou legal!

Esse é o código bem simples:

public class teste {
public static void main(String args[]) {
System.out.println (“Bem vindo ao Java!”);
}
}

Ele está salvo com o nome de teste.java, e eu já usei o comando “javac teste.java”. Funcionou legal
A mensagem de erro aparece quando eu digito “java teste.java ou java.teste”, tentei os dois modos. Isso em Linux da essa mensagem:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Em Windows 2003 server rodou legal!

Esse é o código bem simples:

public class teste {
public static void main(String args[]) {
System.out.println (“Bem vindo ao Java!”);
}
}

Ele está salvo com o nome de teste.java, e eu já usei o comando “javac teste.java”. Funcionou legal
A mensagem de erro aparece quando eu digito “java teste.java ou java.teste”, tentei os dois modos. Isso em Linux da essa mensagem:

“Exception in thread “main” java.lang.NoClassDefFoundError: teste/java”

Em Windows 2003 server rodou legal!

Pessoal desculpa a cagada, não sei o que aconteceu, mas quando enviei a resposta a primeira vez, recebi a mensagem de erro, tentei de novo e a página não abriu, quando fui olhar tava lá a cagada repeti a resposta.
Mas o importante é que preciso da ajuda para resolver esse problema aí.
Qual ó o problema acima? Não acredito que seja o código, deve ser alguma configuração!
será que alguém sabe o que significa essa mensagem de erro?

Pessoal valeu já resolvi o problema, ele estava nos path, ficou dessa forma:

Coloque o PATH
Se sua distro for padrao Red-Hat, crie um arquivo chamado Sun-Java2.sh, com atributo 755 no diretorio /etc/profile.d:

Citação:

#!/bin/sh

export PATH=$PATH:/Diretorio_onde_vc_encontrou_o_Javac

Se a distro for padrao Debian, abra o arquivo /etc/profile, localize onde estah sendo setado o PATH e acrescente o local q vc encontrou no 1o passo.

3o Use :

Citação:

source /etc/profile

para recarregar as opções, ou dê logout e reentre com seu usuario.

Para quem precisar resolver o mesmo problema
Valeu até a próxima