2013-12-20 2 views
0

코드를 성공적으로 컴파일했지만 그 코드를 실행할 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까? scannerTesting이 내 패키지이고 ScannerTesting.java가 내 주 파일입니다.Java에서 NoClassDefFoundError를 가져 오는 이유는 무엇입니까?

D:\Java>java Testing\src\scannerTesting\ScannerTesting Exception in thread "main" java.lang.NoClassDefFoundError: Testing\src\scannerTesting\ScannerTesting <wrong name: scannerTesting/ScannerTesting>

D:\Java>javac Testing\src\scannerTesting\ScannerTesting.java

. . .

+0

http://www.thejavageek.com/2013/07/21/using- javac-and-java-commands-to-compile-and-launch-java-programs/ –

답변

3
java -cp ./Testing/src scannerTesting.ScannerTesting 

java을 실행하면 클래스 경로 내에서 일치하는 클래스를 찾습니다. 따라서 이러한 인수가 수행하는 작업은 -cp을 사용하여 원본 폴더를 클래스 경로에 추가하고 실행할 클래스를 scannerTesting.ScannerTesting으로 지정하는 것입니다. 자세한 내용은 java cli tool documentation at Oracle

+0

루트로 갔을 때 작동했습니다. 그 배후의 논리를 설명해 주시겠습니까? – Alan

+0

예, 답을 업데이트하겠습니다. –

+0

명령 프롬프트에서 파일을 실행하는 것에 익숙하지 않으므로 위의 작동 방식에 대한 설명을 원합니다. – Alan

0

scannerTesting 오른쪽 패키지 이름입니다

체크 아웃?

그렇다면, 당신이 명령을 실행하여 작업 영역 D에서 "자바"제안 : \ 자바 \ 테스트 \를 SRC

java scannerTesting.ScannerTest 
관련 문제