hlegius Postado Abril 9, 2005 Denunciar Share Postado Abril 9, 2005 Pessoal,Estou querendo começar a aprender um pouco sobre Java...Já baixei o compilador instalei defini as variaveis de ambiente...Daí tentei rodar isso://aplicativo que imprime a mensagem "Bem-vindo" em modo textopublic class Welcome{ //método main inicia a execução do aplicativo Java public static void main( ) { //imprime a mensagem e pula uma linha System.out.println("Bem-Vindo"); }//fim do método main}//fim da classe WelcomeDaí eu tentei rodar:C:\root\java\bin>javac H:\home\java\Welcome.javaC:\root\java\bin>java H:\home\java\WelcomeException in thread "main" java.lang.NoClassDefFoundError: H:\home\java\WelcomeC:\root\java\bin>Ele compila e cria o arquivo Welcome.class mas não roda...O que eu estou fazendo de errado ?até... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 9, 2005 Denunciar Share Postado Abril 9, 2005 Seu método main() deve ter a seguinte assinatura:public static void main(String args[])Certo? Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Abril 9, 2005 Autor Denunciar Share Postado Abril 9, 2005 Seria assim?//aplicativo que imprime a mensagem "Bem-vindo" em modo textopublic class Welcome{ //método main inicia a execução do aplicativo Java public static void main( String args[] ) { //imprime a mensagem e pula uma linha System.out.println("Bem-Vindo"); }//fim do método main}//fim da classe WelcomeOlha o que ele me retorna:C:\root\java\bin>javac H:\home\java\Welcome.javaC:\root\java\bin>java H:\home\java\WelcomeException in thread "main" java.lang.NoClassDefFoundError: H:\home\java\WelcomeC:\root\java\bin>O que poderá ser agora?até... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 9, 2005 Denunciar Share Postado Abril 9, 2005 (editado) Agora não tem nada de errado. Você experimentou apagar o Welcome.class antes de compilar novamente? Normalmente não é necessário, mas foi a única coisa que imaginei no momento.Ops, tem outra coisa que pode ser sim. Onde o arquivo .class está sendo gerado? Na pasta de trabalho (C:\root\java\bin) ou na pasta do arquivo .java (H:\home\java)? Se for na pasta de trabalho você só tem que digitar "java Welcome" e não o caminho todo.Abraços,Graymalkin Editado Abril 9, 2005 por Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Abril 9, 2005 Denunciar Share Postado Abril 9, 2005 Opabem eu deletei o arquivo Welcome.class e fiz novamente:C:\root\java\bin>javac H:\home\java\Welcome.javaC:\root\java\bin>java H:\home\java\WelcomeException in thread "main" java.lang.NoClassDefFoundError: H:\home\java\WelcomeC:\root\java\bin>Retorna a mesma coisa...O arquivo é criado aonde o arquivo foi chamado H:\home\javaaté... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 10, 2005 Denunciar Share Postado Abril 10, 2005 Fiz o teste aqui e aconteceu a mesma coisa. Descobri então qual é o problema: java.exe espera o nome de uma classe, que será procurada no diretório de trabalho, se outro não for especificado. Portanto, ao digitar "java H:\home\java\Welcome" o interpretador está procurando por uma classe chamada "H:\home\java\Welcome" e não somente "Welcome". Para fazer dessa maneira é preciso especificar os diretórios de pesquisa de classes, o que seria feito da seguinte maneira:java -cp H:\home\java WelcomeDessa maneira está se especificando que as classes devem ser procuradas na pasta "h:\home\java" e que o nome da classe a ser executada é "Welcome". Apesar de parecer estranho, de fato o caso tem sentido, uma vez que uma classe não precisa necessariamente ter um arquivo com seu nome (daí a procura por classes e não por arquivos).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Abril 10, 2005 Autor Denunciar Share Postado Abril 10, 2005 Putz... essa foi dificil hein... hehe...Funcionou aki dessa forma Graymalkin, muito obrigado...A propósito, não teria como definir um diretório de trabalho?até.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 10, 2005 Denunciar Share Postado Abril 10, 2005 Putz... essa foi dificil hein... hehe...Funcionou aki dessa forma Graymalkin, muito obrigado...A propósito, não teria como definir um diretório de trabalho? Sim, você pode definir uma variável de ambiente, chamada CLASSPATH, com o diretório de trabalho. Se você fizer...set CLASSPATH=h:\home\java... só vai precisar digitar "java Welcome" para executar o programa.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Abril 10, 2005 Autor Denunciar Share Postado Abril 10, 2005 Não deu certo...hehe... coloquei o CLASSPATH para h:\home\java e não deu ...Mas beleza...vlws pela ajuda!até... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 10, 2005 Denunciar Share Postado Abril 10, 2005 Não deu certo...hehe... coloquei o CLASSPATH para h:\home\java e não deu ... Estranho... aqui dá certo:C:\>java Teste Exception in thread "main" java.lang.NoClassDefFoundError: Teste C:\>set CLASSPATH=c:\temp C:\>java Teste Bem-Vindo C:\>A primeira tentativa foi antes do set CLASSPATH=c:\temp. Você digitou essa linha sem dar espaços entre o "="? Porque não pode ter espaços ali não (tem que ser tudo junto assim como está acima).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Abril 10, 2005 Autor Denunciar Share Postado Abril 10, 2005 Deu certo...até meio tempo de jogo ... heheC:\>set CLASSPATH=h:\home\java\C:\>java loopsC:\>java -cp estudos\control loopsException in thread "main" java.lang.NoClassDefFoundError: loopsSakou o que houve ?Se eu deixar o arquivo em H:\home\java ele executaAgora se tiver dentro de subpastas dentro de java ele não executa ...Não teria como contornar isso ?Agradescido pela ajudaaté... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 10, 2005 Denunciar Share Postado Abril 10, 2005 De fato, ele não procura em subdiretórios. O que você pode fazer é:set CLASSPATH=h:\home\java java -cp %CLASSPATH%\estudos\control loops Ou então adicionar ambas as pastas na classpath: set CLASSPATH=h:\home\java;h:\home\java\estudos\control java loopsAbraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hlegius Postado Abril 10, 2005 Autor Denunciar Share Postado Abril 10, 2005 blzinha cara...vlw pelo enorme help que se me forneceu ....O do Java já era hehe...até... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest dica Postado Abril 11, 2005 Denunciar Share Postado Abril 11, 2005 dica, use o front end chamado "Gel" ele link-edita já. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hlegius
Pessoal,
Estou querendo começar a aprender um pouco sobre Java...
Já baixei o compilador instalei defini as variaveis de ambiente...
Daí tentei rodar isso:
Daí eu tentei rodar:
Ele compila e cria o arquivo Welcome.class mas não roda...
O que eu estou fazendo de errado ?
até...
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.