나Tomcat6 서버에서 사용하는 JRE를 변경해야 합니다.왜냐하면 포함된 클래스를 컴파일하는 JSP 애플리케이션이 있기 때문입니다 JDK 1.8.0_45
.
그런 다음 JRE 1.8.0_40
Tomcat에서 사용하고 있기 때문에 JSP 애플리케이션은 런타임에 오류가 발생합니다.
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
그래서 이미 설치되어 있어서 JRE 1.8.0_45
다운로드한 다음 압축을 풀고 다음 위치로 이동했습니다.
/usr/lib/jvm/jre1.8.0_45/
그런 다음 업데이트하여 사용하세요(여기에서 볼 수 있듯이 스페인어로 되어 있어서 죄송합니다).
그래서 방금 컴퓨터를 다시 시작하고 어떤 JRE가 tomcat을 사용하고 있는지 찾아보았지만 다음과 같은 것을 발견했습니다. (이것이 가장 좋은 방법이 아니라면 죄송합니다. 제가 생각하는 더 쉬운 방법은 다음과 같습니다.)
ps -aux | grep tomcat
보시다시피, grep 출력의 첫 번째 줄은 tomcat의 실행입니다(그렇지 않습니까?)하지만 JRE 대신 JDK를 사용하는 것 같습니다.. 또한 동일한 컴퓨터에서 앱을 구축하는 동안에도 사용됩니다 JDK1.8.0_40
.JDK1.8.0_45
JDK 옵션을 확인해 보면 선택한 옵션이 버전을 지정하지 않아서 문제가 있는지는 모르겠습니다.
그럼 내 질문은 이렇습니다. 그냥 알고 싶었어요Tomcat에서 사용하는 JDK/JRE 버전을 u45로 변경하는 방법.
이 모든 혼란을 고쳐야 해요.
답변1
JAVA_HOME
변수를 설정하여 이 문제를 해결할 수 있습니다 /etc/default/tomcat6
(기본 OS에 여전히 Debian/Ubuntu Tomcat 패키지가 있다고 가정합니다).
Map$Entry
당신이 얻는 오류는 매우 놀랍습니다. JDK 1.8.0_40과 1.8.0_45 사이를 전환할 때 오류가 발생할 것으로 예상하지 않습니다.