OpenJDK/JRE를 제거하고 Oracle JDK를 설치했는데 이제 Tomcat이 실패합니다.

OpenJDK/JRE를 제거하고 Oracle JDK를 설치했는데 이제 Tomcat이 실패합니다.

저는 Tomcat과 함께 Centos7 시스템을 실행하고 있습니다. Tomcat 8.5 및 OpenJDK에서는 모든 것이 잘 작동하지만 개발자는 Oracle JDK를 사용하려고 합니다. 그래서 yum autoremoveJDK 파일을 구하고 Oracle에서 JDK-9.0.1 및 JRE-9.0.1의 RPM을 다운로드했습니다. 이제 Tomcat을 다시 작동시킬 수 없는 것 같습니다.

● tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2017-10-18 11:33:07 PDT; 10s ago
Process: 6525 ExecStop=/bin/kill -15 $MAINPID (code=exited, status=1/FAILURE)
Process: 6513 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1055 (code=exited, status=143)

Oct 18 11:33:07 tomcat_base1 systemd[1]: Starting Apache Tomcat Web Application Container...
Oct 18 11:33:07 tomcat_base1 startup.sh[6513]: Existing PID file found during start.
Oct 18 11:33:07 tomcat_base1 startup.sh[6513]: Removing/clearing stale PID file.
Oct 18 11:33:07 tomcat_base1 systemd[1]: tomcat.service: control process exited, code=exited status=1
Oct 18 11:33:07 tomcat_base1 systemd[1]: Failed to start Apache Tomcat Web Application Container.
Oct 18 11:33:07 tomcat_base1 systemd[1]: Unit tomcat.service entered failed state.
Oct 18 11:33:07 tomcat_base1 systemd[1]: tomcat.service failed.

새 Java가 올바르게 설치된 것 같습니다.

java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)

답변1

Tomcat을 특정 버전의 JDK에 바인딩하는 안정적인 방법을 권장합니다. tomcat_location_dir/bin 하위 디렉터리에서 파일을 찾을 수 있습니다 setenv.sh . 다음 줄을 추가하여 수정하세요.

JAVA_HOME=/path/to/desired/jdk_home

그런 다음 Tomcat 서비스를 (다시) 시작하십시오. 이는 해당 Tomcat 인스턴스에만 영향을 미칩니다. 그런데 이는 특정 Tomcat 환경을 설정하는 데 권장되는 방법입니다.

중요: 의심스러운 경우 JRE뿐만 아니라 JDK 버전도 있는지 확인하고 다음에서 적절한 tar/zip을 다운로드하세요. http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html그런 다음 위에서 언급한 /path/to/desired/jdk_home에 압축을 푼다.

관련 정보