java.lang.NoClassDefFoundError usando o Eclipse e Java 7  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
pcarrara
Smalltalk

Membro desde: 09/02/2012 19:52:52
Mensagens: 4
Offline

Olá a todos, sou novo na area de programacao e estou tendo um problema com uma classe da versao do Java 7.

Eu tenho essa classe:


// Inicio da classe
package Examples;

import java.nio.file.*;

public class DemoPath {

public static void main(String[] args){

Path filePath = Paths.get("C:\\Users\\Paolo Carrara\\workspace\\Java Programming\\Chapter 13\\Examples\\file.txt");

for(int x = 0; x < count; x++)
System.out.println("Element " + x + " is " + filePath.getName(x));
}

}

// Fim da classe

Então quando eu tento compilar a classe ocorre o seguinte problema:

Exception in thread "main" java.lang.NoClassDefFoundError: java/nio/file/Paths
at Examples.DemoPath.main(DemoPath.java:12)
Caused by: java.lang.ClassNotFoundException: java.nio.file.Paths
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)
... 1 more

Não vou dizer que eu ja tentei de tudo, pois se assim tivesse feito eu ja teria conseguido resolver o problema, entretanto eu ja tentei muitas coisas que eu achei na internet, mas nada adiantou, e caso vcs perguntem, ai vao algumas infos:

>Java SDK instalado: Java (TM) SE DevelopmentKit 7 Update 2 (64-bit)
>Java JRE instalado: Java (TM) Update 2 (64-bit)
>Versao do eclipse: Eclipse 3.7.1 (Indigo)
>Variáveis de ambiente:
Nome da Variavel: CLASSPATH
Valor da variável: .;%JAVA_HOME%;\lib\tools.jar

Nome da Variavel: JAVA_HOME
Valor da Variavel: C:\Program Files\Java\jdk1.7.0_02

Nome da Variavel: PATH
Valor da Variavel: C:\Program Files\Java\jdk1.7.0_02\bin


davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Online

Olá, seja bem vindo.
Primeiramente, dê uma lida aqui: http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

Quanto ao seu problema, primeiro, de onde está vindo a variável count?
Afinal, o que você está tentando fazer? Listar os arquivos de um diretório?

Resolva o que eu disse (count) e tente compilar novamente.
Se ainda houver problema, é pq seu Eclipse está configurado para usar outro JDK que não o 7.0.

[]'s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
pcarrara
Smalltalk

Membro desde: 09/02/2012 19:52:52
Mensagens: 4
Offline

Oi David, obrigado por responder tão rapido, eu na verdade eu tentei omitir uma parte do codigo pra simplificar a leitura mas parece que eu so compliquei, então aqui vai o codigo todo:

//inicio
package Examples;

import java.nio.file.*;

public class DemoPath {

public static void main(String[] args){
Path filePath = Paths.get("C:\\Users\\Paolo Carrara\\workspace\\Java Programming\\Chapter 13\\Examples\\file.txt");

int count = filePath.getNameCount();

System.out.println("Path is " + filePath.toString());
System.out.println("File name is " + filePath.getFileName());
System.out.println("There are " + count + " elements in the file path");

for(int x = 0; x < count; x++)
System.out.println("Element " + x + " is " + filePath.getName(x));
}

}

//Fim

Essa classe é na verdade um exercicio de exemplo de um livro que eu estou lendo em que o autor escreve esse codigo e simplismente compila, coisa que eu não estou conseguindo fazer, pois acho que meu eclipse, como vc ja disse, nao esta configurado corretamente com a versao 7 do java. Obrigado pela ajuda.
Hernaneprates
Thread.start()
[Avatar]

Membro desde: 21/07/2010 18:52:30
Mensagens: 34
Offline

Cara, dá uma olhadinhas nas variáveis de ambiente e vê se tá tudo certinho.
Qualquer coisa tenta compilar com outra IDE.

Tenho dificuldade em acreditar que alguém é burro, chamo isso de "preguiça de pensar e perguntar".
pcarrara
Smalltalk

Membro desde: 09/02/2012 19:52:52
Mensagens: 4
Offline

\o/\o/\o/\o/\o/\o/!!!

Oi Hernane, sabe que eu não me veio na cabeça a ideia de tentar compilar em outra IDE, e agora que vc falou eu fiz isso e funcionou!!!
Compilei no DrJava, deu tudo certo.... vc não vão acreditar, enquanto escrevia esse post eu consegui arrumar o problema!!!!!
O problema era o seguinte:
Na minha "Run Configurations" na aba "JRE" eu tinha uma opcao que diz "Project execution environment JavaSE-1.6(jre6)" e essa opcao estava marcada, entao eu vi que nao era isso e mudei para a opcao "Execution Environment" onde eu escolho a a versao da JRE pra rodar os meus projetos, eu escolhi entao a "JavaSE-1.7(jre7)" e deu tudo certo, mas e claro que nao foi so isso, eu tive que fazer varias modificoes antes dessa, mas essa foi a que me fez entrar aqui no forum pra perguntar o que estava de errado.

Gostaria de agradecer a todos que me ajudaram nesse meu pequeno problema, sei que esse vai ser apenas mais, mas sei tbm que para todos os que virão eu vou poder contar com a ajuda de todos aqui do forum, vlw!!
Minduin
Thread.start()
[Avatar]

Membro desde: 02/03/2005 11:05:35
Mensagens: 34
Localização: São Paulo - Zona Sul - Jabaquara
Offline

Bom Dia,

Apenas para complementar o entendimento do erro apresentado, o compilador apesar de algumas vezes nos apresentar mensagens confusa no caso dessa exceção é bem explicito o erro e como se trata de uma classe da JDK basta na linha "Caused by: java.lang.ClassNotFoundException: java.nio.file.Paths " pegarmos a classe junto com o descritivo do pacote e jogar no google, nas primeiras opções sempre aparece o javadoc e nele há um descritivo que informa desde qual versão aquela classe existe "since: {versão}", ai basta ver nas configurações de sua IDE qual o compilador ela está utilizando.

Java 7 atualmente é estritamente para estudo por enquanto, o mercado na sua maioria ainda se encontra no Java 5.

Abs.

"O importante é o que Importa"

[MSN]
Hernaneprates
Thread.start()
[Avatar]

Membro desde: 21/07/2010 18:52:30
Mensagens: 34
Offline

pcarrara wrote:\o/\o/\o/\o/\o/\o/!!!

Oi Hernane, sabe que eu não me veio na cabeça a ideia de tentar compilar em outra IDE, e agora que vc falou eu fiz isso e funcionou!!!
Compilei no DrJava, deu tudo certo.... vc não vão acreditar, enquanto escrevia esse post eu consegui arrumar o problema!!!!!
O problema era o seguinte:
Na minha "Run Configurations" na aba "JRE" eu tinha uma opcao que diz "Project execution environment JavaSE-1.6(jre6)" e essa opcao estava marcada, entao eu vi que nao era isso e mudei para a opcao "Execution Environment" onde eu escolho a a versao da JRE pra rodar os meus projetos, eu escolhi entao a "JavaSE-1.7(jre7)" e deu tudo certo, mas e claro que nao foi so isso, eu tive que fazer varias modificoes antes dessa, mas essa foi a que me fez entrar aqui no forum pra perguntar o que estava de errado.

Gostaria de agradecer a todos que me ajudaram nesse meu pequeno problema, sei que esse vai ser apenas mais, mas sei tbm que para todos os que virão eu vou poder contar com a ajuda de todos aqui do forum, vlw!!



Que bom que funcionou!

Tenho dificuldade em acreditar que alguém é burro, chamo isso de "preguiça de pensar e perguntar".
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team