Centos
刪除 OpenJDK/JRE 並安裝 Oracle JDK,現在 Tomcat 失敗
我正在為 Tomcat 執行 Centos7 系統。使用 Tomcat 8.5 和 OpenJDK 一切正常,但開發人員希望使用 Oracle JDK。所以,我
yum autoremove
是 JDK 文件,然後從 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)
我建議您將 Tomcat 綁定到特定版本的 JDK 的可靠方法。在 tomcat_location_dir/bin 子目錄下你可以找到
setenv.sh
文件。通過添加以下行來修改它:JAVA_HOME=/path/to/desired/jdk_home
然後(重新)啟動tomcat服務。這只會影響這個tomcat實例。順便說一句,這是設置特定 tomcat 環境的推薦方法。
重要提示:如果有疑問,請確保您擁有 JDK 版本而不僅僅是 JRE,只需從 http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html 下載合適的 tar / zip解壓到上面提到的/path/to/desired/jdk_home