Problema na compilação do programa "Hello World"

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:&gtjavac 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:&gt;

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
:wink:

Ahh … no seu caso, vc pode tirar a primeira linha que descreve o package

não estou conseguindo!
Em partes:

  1. Meu hd está particionado em C: e D: (S. Operacional -Windows- na D:)

  2. 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:

  3. [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