Quando digito no prompt: javac HelloWorld.java, aparece a mensagem: “cannot read HelloWorld.java
1 error”, e não compila o arquivo apesar do mesmo existir.
Preciso desta informação para seguir em frente.
Grato,
Olá,
Você não deve estar no mesmo diretório do seu arquivo .java! Vá para o diretório do arquivo .java e faça o javac nele. Se não for o caso, veja se o nome do arquivo está digitado corretamente.
Grato pela dica, consegui compilar da seguinte forma:C:>javac Java_testes(pastadoarquivo)\HelloWorld.java , gerando o arquivo .class,
porém ao tentar executar aparece a mensagem de erro: exception in thread "main" java.lang.NoClassDefoundError:<wrong name: HelloWorld, sendo que a digitação é fiel à todos os tutoriais.
Tem jeito?
Grato mais uma vez!
Dica DOS: CD\ leva à raiz; ex.:C:>
como vc tentou executar ?
para executar vc tende fazer assim
java HelloWorld
se não funcionar assim tem de ver o prog…
Já tentei: java HelloWorld e também java Java_testes\HelloWorld e não executou, apresentando a citada mensagem de erro que acusa como culpado o nome do arquivo. Obs.: ao compilar (javac) não exibiu mensagem de erro.
Continuo aguardando ajuda, muito obrigado!
vc deve digitar o nome igualzinho, ou seja, X não é igual a x, o 1º está em maiúsculo tenta aí vlw !!!
Se não funcionar ainda posta o codigo aí!!
AlbertSigns, tbm tive problemas com o HelloWorld, mas meu problema tava na classpath que eu configurei errado…
Agora tudo dá certo (compilação e execução), tô fazendo tudo no mesmo diretório e esse diretório tá declarado lá na classpath - o q eu, particularmente, acho uma mão na roda… Vc já experimentou fazer tudo numa pasta só e declarar essa pasta lá na tua classpath? (E não esquecer, como falou alguém aí em cima, q o java diferencia maiúsculas de minúsculas, muita atenção…)
AlbertSigns, poste o seu código…
falows
Finalmente consegui! Graças à colaboração de todos vocês, muita pesquisa, mão na massa e noções obtidas na matéria do Rafael Steil: Classpath, entendendo o que é e pra que serve. Meu problema estava na configuração do Classpath onde acrescentei o nome da pasta/testes que criei para meus códigos e arquivos. Ficou assim a conf. das variáveis de ambiente: CLASSPATH=.;JAVA_HOME.;Java_testes
JAVA_HOME=D:\Jdk1.5.0_10
PATH=D:\jdk1.5.0_10\bin
Obs.: meu Windows foi instalado na partição D:\ quando o normal seria C:\
Valeu a força Galera! Quanto mais eu souber, mais ajudo também.
Abraço!
Algum erro? Já tentei diretório, renomear pasta e tudo, meio perdido ( p falar a verdade todo perdido!)
HelloWorldClass também não dá certo!
Alguém aí com uma luz a mais?
Grato.
acho que vc quiz dizer isso certo ?
package br.com.teste;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class HelloWorldSwing
{
public static void main ( String args [] )
{
JFrame frame = new JFrame ( "Hello" ) ;
JLabel label = new JLabel ( "Hello, Swing World" ) ;
frame . getContentPane ( ) . add ( label ) ;
frame . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE ) ;
frame . pack ( ) ;
frame . setVisible ( true) ;
}
}
Tente com esse código acima
Ahh … no seu caso, vc pode tirar a primeira linha que descreve o package
não estou conseguindo!
Em partes:
-
Meu hd está particionado em C: e D: (S. Operacional -Windows- na D:)
-
Configuração das variáveis: CLASSPATH .;JAVA_HOME.;teste_Java
JAVA_HOME D:\Arquivos de programas\Java\jdk1.5.0_14
PATH D:\Arquivos de programas\Java\jdk1.5.0_14\bin
Obs: As mesmas config estão válidas para “Variáveis de usuário p Administrador” e “Variáveis do Sistema”.
O JSE e o JDK estão em uma outra subpasta nomeada Java sendo que essa está em Arquivos de programas locada na unidade D: sendo assim: D:\Arquivos de programas\Java\jdk1.5.0_14
D:\Arquivos de programas\Java\jse1.5.0_14
A pasta contendo o código-fonte do “HelloWorldSwing” está numa pasta que nomeei de: teste_Java (como fez o Colega AlbertSings ) a mesma também está locada na unidade D: -
[quote] acho que vc quiz dizer isso certo ?
Ahh ... no seu caso, vc pode tirar a primeira linha que descreve o package
[/quote]
Tentei com a linha que descreve o package e sem ela também!
Aí vai o código para que vcs possam analisar as possibilidades de erro.
[i]package br.com.teste;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class HelloWorldSwing
{
public static void main ( String args [] )
{
JFrame frame = new JFrame ( “Hello” ) ;
JLabel label = new JLabel ( “Hello, Swing World” ) ;
frame . getContentPane ( ) . add ( label ) ;
frame . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE ) ;
frame . pack ( ) ;
frame . setVisible ( true) ;
}
}
[/i]
obs: O arquivo está nomeado como: HelloWorldSwing.Java
Aguardo alguma dica ou correções. Grato.
Tente sem ser em Swing, pra ficar um pouco mais simples. Se ainda assim não compilar, daí provavelmente é problema com o classpath.
Coloque no bloco de notas e salve no D:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!\n");
}
}
Salve como HelloWorld.java
Vá em executar e digite cmd. Vá no diretório D:\ (com o comando cd D:) e digite javac HelloWorld.java e poste o resultado disso aqui.
Abraço.
olha se sua configuração esta como em anexo…
[quote]
Tente sem ser em Swing, pra ficar um pouco mais simples. Se ainda assim não compilar, daí provavelmente é problema com o classpath.
Coloque no bloco de notas e salve no D:
view plaincopy to clipboardprint?
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello World!\n”);
}
}
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello World!\n”);
}
}
Salve como HelloWorld.java
Vá em executar e digite cmd. Vá no diretório D:\ (com o comando cd D:) e digite javac HelloWorld.java e poste o resultado disso aqui.
Abraço. [/quote]
Fiz como vc disse, ou seja: quase.
Salvei como HelloWorld.java mas coloquei o mesmo numa pasta chamada teste_java, e quando tentei compilar a mensagem foi [b] error: cannot read: HelloWorld.java ( o diretório estava no D:>
Depois segui as instruções mais a risca, isto é: salvei (recortei p) diretamente no D:
Resultado: Surgiu no disco local D: um arquivo chamado HelloWorld.class (portanto o mesmo agora está compilado certo?)
Depois tentei executar o arquivo seguindo as instruções do Arquivo/Tutorial: D:> java HelloWorldConsole
a mensagem de erro agora é: Exception in thread main java.lang.NoClassDefFoundError: HelloWorldConsole
oO código-fonte (acho q é assim que se chama)está escrito assim:
[b]
public class HelloWorld {
public static void main (String[] args) {
System.out.println(“Hello World!\n”) ;
}
}
[/b]
Então a energia caiu e agora terminei de digitar tudo de novo, putz, pense!Mais é isso aí. Pelo menos já está compilando! Vlw dedejava
Execute-o assim:
java -cp . HelloWorldConsole
Note que eh “-cp PONTO” (o caracter de ponto)
Rafael
Rafael,
Desculpe me intrometer, mas para que serve o -cp .?
Bem, de toda forma, acredito que se você fizer
Deva funcionar.
Sim, quando surge um .class é porque foi compilado. Só que fique atento (pra quem está começando é normal): Se a sua classe é chamada de HelloWorld, tanto na hora da compilação você deve usar o javac HelloWorld.java (o mesmo nome da classe) quanto na execução -> java HelloWorld
Abraço.
Especifica o classpath. Para maiores infos, java --help
O que acontece muitas vezes eh o classpath estar definido para um diretorio especifico, sem conter o diretorio corrente , que eh representado por um ponto. Nisso, a vm nao encontra a classe.
Rafael