1、tomcat指定jdk
---windows
进入%tomcat_home%/bin/目录,新建setenv.bat文件,内容如下:
set "CATALINA_OPTS=%CATALINA_OPTS% -Xmx512M -XX:MaxPermSize=512m"
set "JAVA_HOME=D:envj2eejava64bitjava7jdk7"
set "JRE_HOME=D:envj2eejava64bitjava7jre7"
---linux
setenv.sh:
export CATALINA_OPTS="$CATALINA_OPTS -Xmx512M -XX:MaxPermSize=512m"
export JAVA_HOME="/usr/jdk1.7.0_80"
export JRE_HOME="/usr/jdk1.7.0_80"
ps:当然,也可以再setclasspath.bat或者catalina.bat中配置,但为了保持tomcat原有配置的整洁性,开发人员最好将配置参数放在新建的setenv.bat中。
2、为什么启动起来后,还是tomcat8、jdk8?
因为,我在环境变量中设置了
或者linux是
去掉,环境变量中的以上即可。
3、启动tomcat时,乱码,怎么办?
进入%tomcat_home%/conf/,编辑logging.properties,找到java.util.logging.ConsoleHandler.encoding,将原来的UTF-8修改为GBK,即可。如下:
java.util.logging.ConsoleHandler.encoding = GBK
注:我使用的是apache-tomcat-7.0.96版本。我发现,7.0.63版本没有java.util.logging.ConsoleHandler.encoding,当然启动时也没有乱码。
4、centos7下source ~/.bash_profile后,重复出现jdk版本,怎么办?
先说下场景,我先在~/.bash_profile中配置的是jdk1.7的,source了下。后来,因为本机应用程序是jdk1.8的,于是我将~/.bash_profile中改成了jdk1.8,然后source。执行java -version时,发现依然是1.7版本的。于是执行env命令,发现,path如下:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/mnt/app/drools/jdk1.7.0_80/bin:/root/bin:/mnt/app/drools/jdk1.8.0_65/bin
解决:在命令行中,输入:
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/mnt/app/drools/jdk1.8.0_65/bin
即:将1.7版本的jdk路径删除了,其他保持不动。然后,关闭xshell当前窗口,重新打开新窗口,再次执行java -version,发现:变成了1.8,成功。
注:必须要关闭当前xshell窗口,否则依然不变。