本文主要是介绍tomcat中upload较大无法替换war包,使用软链接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:在更换项目war包时,由于项目中的upload过大所以很难进行备份与转移。如果强行替换war包就会造成upload中数据被删除的情况。
解决方法:因此使用软链接来解决这个问题。
步骤:原来的tomcat项目进行保存,不动原来的项目以及webapp下面的内容。再安装一个相同版本的tomcat,不同版本也可以只要能运行就行。
比如现在有两个tomcat一个叫做tomcat1,另外一个叫做tomcat2.
原来的项目在tomcat1中,其中upload在其中webapps下面的ROOT里面。
现在想要替换war包。我们可以将新的war包放在tomcat2里面的webapps下面,然后进行编译运行tomcat2,这样tomcat2的webapps下面就会有一个编译之后的ROOT文件夹。
假设upload在ROOT中。我们想要用第二个tomcat中的项目以及第一个中的upload。
我们需要在第二个项目中创建一个软链接,也就是相当于windows的快捷方式。
使用命令为(需要提前把tomcat2也就是后来布置的upload文件夹先删除)
ln -s tomcat1/webapps/ROOT/upload tomcat2/webapps/ROOT/upload
这样在tomcat2的项目下也就会出现一个upload的快捷方式。这样就可以在第二个tomcat2中访问第一个tomcat1中的文件了。当然这个时候还得对tomcat进行配置要不然tomcat默认不允许软链接。
我们得需要配置Tomcat中的配置文件,在tomcat下面conf中的context.xml里面
对于tomcat7.0,需要进行以下的修改。
<Context allowLinking="true" />
对于tomcat8.5以及tomcat9.0,需要进行以下的修改
<Context><Resources allowLinking="true" />
</Context>
之后在第二个tomcat2中进行上传与下载文件都会在第一个tomcat1中的upload中实现
这篇关于tomcat中upload较大无法替换war包,使用软链接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!