을 생산, 나는 JDK 1.5.0_22을 사용하고있어 내가 필요한 JDK/bin 디렉토리의 JDK의 실행 파일 (javac
, native2ascii
, javadoc
등) 중 하나를 실행할 때 tools.jar
잘 동작 (자바, 키 도구 등)을 필요로하지 않는 bin 디렉토리에javac의 (그리고 다른 JDK 실행 파일) Solaris 10에서 NoClassDefFoundError를
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac/Main
JRE 실행 파일 : 실행 tools.jar
, 나는 (인수 및없이 실행)이 오류가 발생합니다.
예, tools.jar
은 JDK/lib 디렉토리에 있으며 권한은 정상이며 손상되지 않았습니다. tools.jar
의 내용을보고 추출 할 수 있습니다.
JAVA_HOME
설정을 시도하고 JDK/bin 디렉토리를 PATH에 추가하여 환경 변수를 설정/해제해도 아무런 차이가 없습니다. 나는 여전히 같은 오류가 발생합니다.
이 (아래 cmd를 JDK/bin 디렉토리에서 실행 됨) NoClassDefFoundError
을 없애 및 실행 파일 JDK/빈 실행을 허용하지 내가 찾은 유일한 것입니다 : 그래서
./native2ascii -J-Xbootclasspath/a:../lib/tools.jar
경우 javac
, javadoc
, native2ascii
과 같은 JDK/bin 실행 파일에 -J-Xbootclasspath/a:../lib/tools.jar
을 추가하면 실행됩니다. 그렇지 않으면, 그들은하지 않습니다.
수정 방법에 대한 아이디어가 있으십니까? JDK/bin 실행 파일은 모두 내가 가지고있는 다른 Solaris 10 시스템에서 정상적으로 실행되며 그 중 아무 것도 JAVA_HOME
바 세트 또는 PATH의 JDK/bin을 가지고 있지 않습니다.
JAVA_HOME을 bin 폴더로 설정하지 않았습니다. 내가 가지고있는 다른 Solaris 시스템에는 JAVA_HOME이 전혀 설정되어 있지 않으며 javac, native2ascii 등이 모두 동작합니다. – JavaHoss