windows和linux系统下tomcat指定jdk路径

@[toc]windows和linux系统下tomcat指定jdk路径

1. windows系统下tomcat指定jdk路径

1.1 背景:windows计算上面可能部署多个jdk版本,tomcat要指定需要的jdk版本(此时jdk不需要设置环境变量启动tomcat)。

原因:生产上医院部署项目给的服务器电脑,原有jdk1.6,试了jdk1.6tomcat服务启动不了,需要jdk1.8启动tomcat,不影响jdk1.6运行其他服务的情况下,怎么操作用jdk1.8启动tomcat?

1.2 找到tomcat的启动startup.bat路径

jdk的安装路径
C:\anzhuangmulu\jdk1.8\jdk1.8.0_131
tomcat的安装路径
C:\anzhuangmulu\tomcat\apache-tomcat-8.5.76
假如是apache-tomcat-8.5.76版本
那么路径是:apache-tomcat-8.5.76\bin\startup.bat

1.3 在startup.bat第一行空白处增加一行jdk安装路径

打开startup.bat,第一行空白处加入jdk安装路径,注意不要有空格
,并保存SET JAVA_HOME=C:\anzhuangmulu\jdk1.8\jdk1.8.0_131
(补充:我set这行代码有空格:部署的时候有空格tomcat启动闪退:解决闪退问题:在startup.bat文件后面编辑加入pause保存,再次双击start.bat,解决完问题之后,把startup.bat文件后面编辑加入的pause删除掉!!!保存)
windows和linux系统下tomcat指定jdk路径_第1张图片

1.4 (或)修改tomcat\bin路径下的setclasspath.bat文件,开头部分增jdk、jre路径

修改tomcat\bin路径下的setclasspath.bat文件,开头部分增jdk,jre安装路径:(注意:set空格,=等号前后不要有空格)
set JAVA_HOME=C:\anzhuangmulu\jdk1.8\jdk1.8.0_131
set JRE_HOME=C:\anzhuangmulu\jdk1.8\jre1.8.0_131
windows和linux系统下tomcat指定jdk路径_第2张图片

1.5 tomcat的bin路径下startup.bat关闭重启即可

2. linux系统下tomcat指定jdk路径

2.1 背景:linux系统上面可能部署多个jdk版本,而当前tomcat要指定需要的jdk版本(此时jdk不需要设置环境变量启动tomcat)。

原因:生产上医院部署项目给的linux服务器,原有jdk1.8,现在指定apache-tomcat-8.5.76指定用jdk13.0.2不需要设置环境变量启动tomcat,不影响jdk1.8运行其他服务的情况下,怎么操作用jdk13.0.2启动tomcat?

2.2 下载自己需要的jdk版本:jdk-13.0.2_linux-x64_bin.tar.gz

rz命令把jdk13在本地windows系统传输到linux系统
rz
windows和linux系统下tomcat指定jdk路径_第3张图片

windows和linux系统下tomcat指定jdk路径_第4张图片
tar -zxvf命令解压jdk-13.0.2_linux-x64_bin.tar.gz
tar -zxvf jdk-13.0.2_linux-x64_bin.tar.gz
windows和linux系统下tomcat指定jdk路径_第5张图片
mv命令将jdk-13.0.2重命名为java_jdk13.0.2并移动到路径/usr/local/java_jdk13.0.2下
mv jdk-13.0.2 /usr/local/java_jdk13.0.2
windows和linux系统下tomcat指定jdk路径_第6张图片

2.3 修改tomcat/bin/catalina.sh和setclasspath.sh配置文件

jdk安装路径:/usr/local/java_jdk13.0.2
jre安装路径:/usr/local/java_jdk13.0.2/jre
export JAVA_HOME=/usr/local/java_jdk13.0.2
export JRE_HOME=/usr/local/java_jdk13.0.2/jre
在这里插入图片描述
vim编辑catalina.sh和setclasspath.sh,第一行空白处加入jdk、jre安装路径,注意不要有空格(注意:jdk13时catalina.sh加入export JRE_HOME=/usr/local/java_jdk13.0.2/jre是启动不了tomcat的,亲测)
windows和linux系统下tomcat指定jdk路径_第7张图片
windows和linux系统下tomcat指定jdk路径_第8张图片

2.4 启动tomcat,关闭tomcat

启动tomcat
./startup.sh
windows和linux系统下tomcat指定jdk路径_第9张图片
浏览器访问192.168.1.100:8081出现猫,配置成功(可以访问自己的项目)
windows和linux系统下tomcat指定jdk路径_第10张图片
关闭tomcat
./shutdown.sh
windows和linux系统下tomcat指定jdk路径_第11张图片
[root@node0 bin]# ./shutdown.sh
Using CATALINA_BASE: /usr/src/tomcat8081/apache-tomcat-8.5.76
Using CATALINA_HOME: /usr/src/tomcat8081/apache-tomcat-8.5.76
Using CATALINA_TMPDIR: /usr/src/tomcat8081/apache-tomcat-8.5.76/temp
Using JRE_HOME: /usr/local/java_jdk13.0.2
Using CLASSPATH: /usr/src/tomcat8081/apache-tomcat-8.5.76/bin/bootstrap.jar:/usr/src/tomcat8081/apache-tomcat-8.5.76/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED

这不是错误,是功能
根据这个邮件列表线程,这些消息引用了Tomcat在Java 9及更高版本上运行时设置的选项,以便在面对Java中的变化时保持重要的功能(内存泄漏预防/检测)。我推测这些变化与Java平台模块系统有关。

所以这是一个功能,而不是一个错误。

Java 进程仍在运行。怀疑过程继续是由于其他原因。例如,从经验上讲,执行器服务的线程池未被关闭。

退出Tomcat 9时,我确实收到一条类似于您发布的消息:
注意:JDK_JAVA_OPTIONS拿起:–添加打开=java.base/java.lang=全部未命名 --添加-打开=java.base/java.io=全部未命名 --添加打开=java.rmi/sun.rmi.传输=全部未命名

你可能感兴趣的:(tomcat,windows,java,linux)