Estou aprendendo JAVA através do Livro JAVA 6: ENSINO DIDÁTICO: DESENVOLVENDO E IMPLEMENTANDO APLICAÇÕES (Ségio Furgeri, 1ª Edição - São Paulo - Érica).
Os exemplos são desenvolvidos no ambiente de desenvovimento JDK1.6.0_03, cujo download não consegui localizar, tendo como solução o download da versão mais recente na página da Sun Microsystems (JDK1.6.0_10), instalado aparentemente com sucesso (efetuei o comando Javac na linha de comando, conforme orientado, e foi apresentada a tela com as instruções de help).
Apesar de conseguir compilar os dois primeiros exemplos (Exemplo0101 e Exemplo0201), não consigo executar os mesmos, apresentado as mensagens de erros constantes nas telas anexadas tópico, capturadas após as tentativas frustradas.
public class Exemplo0101
{
public static void main (String args[])
{
System.out.println(“Início do aprendizado”);
System.out.println(“Ensino Didático da Linguagem Java”);}
}
C:\Cláudio\Livro Java (JAVA 6)\Capítulo 1>java exemplo0101
Exception in thread “main” java.lang.NoClassDefFoundError: exemplo0101
Caused by: java.lang.ClassNotFoundException: exemplo0101
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: exemplo0101. Program will exit.
C:\Cláudio\Livro Java (JAVA 6)\Capítulo 1>
O erro do exemplo 2 é exatamente igual ao do exemplo 1.
Mesmo respeitando todas as maiúsculas e minúsculas, ainda assim persiste o erro.
public class Exemplo0101
{
public static void main (String args[])
{
System.out.println(“Início do aprendizado”);
System.out.println(“Ensino Didático da Linguagem Java”); }
}
C:\Cláudio\Livro Java (JAVA 6)\Capítulo 1>java Exemplo0101
Exception in thread “main” java.lang.NoClassDefFoundError: Exemplo0101
Caused by: java.lang.ClassNotFoundException: Exemplo0101
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Exemplo0101. Program will exit.
Muitos livros não levam em conta que, em algumas versões do Java, não existe um CLASSPATH default apontando para o diretório corrente, e omitem o parâmetro "-cp . " ou "-classpath . " para rodar programas simples.
Cara. desencana dessa versão JDK1.6.0_10 que se eu não me engano éla é versão beta e não funciona corretamente. baixa essa versão aqui ó JDK1.6.0_7 e configura as variáveis de ambiente com essa versão.
Ve se da certo.
Ela funciona bem melhor que as versões finais; não é porque é beta que não vai conseguir rodar um “hello, world”. É só tomar o cuidado de pegar a versão beta mais nova possível (no meu caso eu rodo a b28, mas acho que deve haver algo mais recente ainda)
C> java -version
java version "1.6.0_10-rc"
Java(TM) SE Runtime Environment (build 1.6.0_10-rc-b28)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
que legal cara, eu não sabia que éra isso porque eu tinha tentado com a versão JDK1.6.0_10 e não dava certo, então eu baixei a outra versão JDK1.6.0_7 e funcionou corretamente, eu vou baixar éssa versão que você tem JDK1.6.0_10-rc e configurar as variáveis pra ver se funciona, já já eu lhe informo se funcionol beleza thingol.
Alterei as Variáveis de Ambiente como Variaveis de Sistema
Verifiquei a Versão
C:\Cláudio\Livro Java (JAVA 6)\Capítulo 1>java -version
java version “1.6.0_10-rc2”
Java™ SE Runtime Environment (build 1.6.0_10-rc2-b32)
Java HotSpot™ Client VM (build 11.0-b15, mixed mode, sharing)
C:\Cláudio\Livro Java (JAVA 6)\Capítulo 1>
Executei conforme a seguir:
C:\Cláudio\Livro Java (JAVA 6)\Capítulo 1>java -cp Exemplo0101
Usage: java [-options] class [args…]
(to execute a class)
or java [-options] -jar jarfile [args…]
(to execute a jar file)
where options include:
-client to select the “client” VM
-server to select the “server” VM
-hotspot is a synonym for the “client” VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
EI THINGOL, A VERSÃO que eu baixei(mas não instalei ainda) é a jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008, eu notei que a sua versão é rc e não rc2, será que essa que eu baixei não da problema???
Cara, eu acabei de instalar essa versão, conifigurei as variáveis, e roda os programas direitinho.
So que quando eu digito pra ver a versão do java ele aparece assim.
java version “1.5.0_07”
Achei estranho porque éra pra aparecer a versão 1.6.0_10 que acabei de instalar.
Véiu, esses bagulho de versão do java é embassado viu.
é cara, pode crê, pega esse arquivo.java que vocÊ fez no bloco de notas e joga ele no C: que fica bem melhor e mais acessivel pra você.
Depois feito isso é só:
Eu julgava que o problema estava resolvido usando a compilação: java -cp . nomedaclasse mas quando iniciei os estudos de Acesso a Métodos de Outras Classes empaquei outra vez. Outras vez problemas no classpath (Variáveis de Sistema: C:\Arquivos de programas\Java\jdk1.6.0_10\lib). Alguém poderia me dar uma ajuda para resolver de vez esse problema de configuração no Windows XP Home Edition Versão 2002 Service Pack 3.