jdk
내 서버에서 내 서버를 업그레이드 하고 싶은데 CentOS
몇 가지 간단한 검색 후에 몇 가지 해결책을 찾았습니다.
~에서이 링크, 지침이 간단하다는 것을 알 수 있습니다.
rpm 패키지 또는 소스 코드에서 원하는 jdk를 설치하십시오.
일부 대안을 선택할 수 있음
새 버전이 설치되어 있는지 확인하세요(
java -version
)
위의 처음 두 단계는 쉽게 완료했지만 버전 확인 단계에서 다음 오류가 발생합니다.
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
나는 또한 다음을 확인했습니다.
alternatives --config java
그리고 심볼릭 링크.
which
또한 실제로 Java가 실행되고 있는 링크 방향이 무엇인지 알아보기 위해 명령을 사용해 보았습니다 .
/usr/bin/java -> /etc/alternatives/java -> /usr/java/jdk-1.8.0_40/bin/java
이상한 점은 내가 실행할 때입니다.
/usr/bin/java -version
괜찮습니다. 버전을 반환하지만 java
접두사 없이 실행하면 해당 오류가 발생합니다.
답변1
문제는 시스템 변수에 있습니다 CLASSPATH
.
/etc/bashrc
그리고 jdk는 모듈을 로드하기 위해 클래스와 라이브러리 패스를 알아야 하기 때문에 파일 처럼 어떻게든 내보내야 합니다 .
내 경우에는 앉아 있다 CLASSPATH=/usr/java/jdk1.8.0_40/lib
.