2012-09-25 4 views
0

리눅스, 윈도우에 "메인 클래스 오류를 찾을 수 없습니다": Windows에서 내 자바 프로그램을 실행하는 경우하지 내가받을거야

Exception in thread "main java.lang.NoClassDefFoundError: PageStore 
Caused by: java.lang.ClassNotFoundException: PageStore 
    . 
    . 
    . 
Could not find the main class: PageStore. Program will exit. 

.
linux와 osx에서 잘 돌아갑니다.

나는이 포함 된 .bat 또는 .sh 파일을 실행 해요 :

javac -cp sesame.jar SimpleGraph.java PeerHandler.java ClientHandler.java Router.java PageStore.java 
java -cp sesame.jar:slf4j-api-1.6.6.jar:slf4j-simple-1.6.6.jar:. PageStore 

javac의 명령은 잘 작동하며 두 시스템에 컴파일합니다. 필자가 온라인에서 보았던 다른 모든 솔루션은 이미 가지고있는 클래스 경로에 현재 디렉토리를 추가하고 다른 OS가 아닌 하나의 OS에서 작업하는 것에 대해 말하지 않았습니다.

답변

3

Windows에서 클래스 경로의 경로 구분 기호는 세미콜론 인 ;입니다.

보십시오 : 서로 다른 걸

java -cp sesame.jar;slf4j-api-1.6.6.jar;slf4j-simple-1.6.6.jar;. PageStore 
+0

아니라 그게 바보. 그것을 시도했지만 그래도 같은 오류가 발생했습니다. –

+1

은 바보 같지만 classpath에 _paths_가 포함되어 있고 Windows의 경로에 이미 드라이브 경로의 일부로 콜론이 포함되어있을 수 있습니다. _C : \ Users \ Adam_이 필요한 이유를 알 수 있습니다. 질문에 _same_ 특정 오류가 계속 표시되는 중입니까? 모든 세미콜론을 바꾸 었는지 확인하고 대답의 – pb2q

+0

mmm에서 명령 줄을 복사하십시오. 사실, 지금은 이해합니다. Java의 Linux 버전이 두 구분 기호를 모두 허용합니까? 예, 그 에러는 그대로 예 .. –