2011-02-11 2 views
0

시스템 속성을 자바 1.6 맥 OSX 버전 10 개미 1.8맥 인덱싱 및 CLASSPATH 문제 - java.lang.NoClassDefFoundError가

시나리오 : 내가 사용하는 웹 사이트를 만드는 것입니다 내 마지막 해 프로젝트를 진행하고있다 Lucene이 내 웹 사이트와 데이터베이스를 검색했습니다. 나는 클래스 경로 http://lucene.apache.org/java/2_3_2/demo3.html와 웹 예에 대해 이야기 여기 루씬 데모 http://lucene.apache.org/java/2_3_2/demo.html 을하고 있어요 내 클래스 경로 설정 홈 디렉토리/사용자/philhunter /에 .bash_profile에 파일을 만든

:

CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/lucene-core-3.0.3.jar 
CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/lucene-demo-3.0.3.jar 
CLASSPATH=${CLASSPATH}:/Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo 

내가 노력하고 내가 ClassDefNotFoundError 무엇입니까 명령 줄에서 요청 명령을 실행하면 :

Exception in thread "main" java.lang.NoClassDefFoundError: /Users/philhunter/Desktop/COM562_Project/lucene-3/0/3/src/demo/org/apache/lucene/demo/IndexHTML 
Caused by: java.lang.ClassNotFoundException: .Users.philhunter.Desktop.COM562_Project.lucene-3.0.3.src.demo.org.apache.lucene.demo.IndexHTML 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 

명령 행 닷컴 mand :

java /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo/IndexHTML -create -index /Applications/MAMP/htdocs/ 

내 웹 사이트 파일의 색인을 생성해야합니다. 해당 indexHTML 파일은 위의 마지막 클래스 경로 디렉토리에있는 Java 파일입니다. 누구나 내가 왜 theat 오류가 발생하는지 알 수 있습니다!?

+0

.Users 파일은 /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo/IndexHTML 위치에 있습니까? – Pushkar

+0

아니요, 단지 자바 파일입니다. –

답변

0

나는 지나가고있는 길은 문제라고 생각합니다. 당신의 bash는 스크립트에 다음을 추가하십시오

cd /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/ 
java org.apache.lucene.demo.IndexHTML -create -index /Applications/MAMP/htdocs/ 

문제는 당신이

java /Users/philhunter/Desktop/COM562_Project/lucene-3.0.3/src/demo/org/apache/lucene/demo/IndexHTML 

를 실행할 때 자바 패키지

Users.philhunter.Desktop.COM562_Project.lucene-3.0.3.src.demo.org.apache.lucene.demo
에서 클래스를 실행 말하고있다는 것이다.

+0

또 다른 문제는 클래스 경로의 세 번째 줄에 "루트"패키지가 아닌 .java 클래스가있는 경로를 가리키는 것일 수 있습니다. – Augusto

+0

해당 디렉토리로 변경했지만 여전히 오류가 발생합니다. 세 번째 classpath에 관해서는 예, 파일이있는 IndexHTML 디렉토리를 가리 킵니다. "루트 패키지"란 무엇입니까? Lucene 폴더를 가리 키도록 다른 클래스 패스를 넣어야합니까? (내가 디렉토리와 관련되어야한다고 들었다) –