Tomcat相关问题汇总
2022-10-16
预计阅读时间:2分钟
1.Tomcat访问项目路径以外的资源
在javaweb项目中从页面预览(访问)静态资源是常见的场景,一般都是在项目下新建一个文件夹,将项目需要访问的静态资源全部上传到该文件夹里面,但是遇到项目部署时需要将移动大量的附件内容到另外的位置,跟随项目一起移动,很不方便,下面是Tomcat中访问项目以外的资源的两种方法:
(1)配置Tomcat虚拟目录
- 该方案的好处是虚拟目录下的问价也可以类似于静态资源一样访问
- 美中不足是上传资源时还需要上传到虚拟目录的绝对路径,在网上没做看到如何获取虚拟目录绝对路径的方法,绝决方案是配置一个properties文件,里面放置绝对路径,参考文章
(2)通过linux软连接实现
- 该方案的好处就是可以和静态文件一样访问,只需要将资源上传到特定文件夹下面即可。
- 缺点是需要通过linux命令对上述指定文件夹做软连接,连接完成后就其实是上传到了软连接的文件夹中
- 需要配置Tomcat来支持软连接
1.1软连接介绍
- 软连接命令
ln -s 源文件 目标文件
建立好软连接后,需要配置Tomcat安装目录中conf文件夹下context.xml
来支持软连接,针对不同版本下的Tomcat,需要添加的配置内容如下:
- Tomcat 5、6、7版本
<Context allowLinking="true" />
- Tomcat 8、9版本
<Context>
<Resources allowLinking="true" />
</Context>
通过上述配置,通过软连接访问项目目录外资源就大功告成了
- 软连接注意事项
(1)删除软连接 :例如使用ln -s /home/data/pdfv /data/pdfv
建立了软连接,则删除软连接需要需要使用rm -rf /data/pdfv
而不是rm -rf /data/pdfv/
后者会吧文件夹中的文件全部删除
(2)使用IDE重新部署应用后会删除软连接的源目录下的文件
(3)重新部署项目后,软连接需要重新建立
2.Tomcat自定义配置jdk
catalina.sh
开头配置如下内容:
# 配置需要启动的Tomcat目录
export CATALINA_HOME=data/apache-tomcat-8.5.72
# 配置启动Tomcat需要的jre环境
JAVA_HOME=/data/apache-8.5.72/jdk/jre
export JAVA_HOME
------ 持续更新中,敬请期待 ------