art*_*emb 18 deployment tomcat tomcat6
文档说如果你有一个上下文文件:
$CATALINA_HOME/conf/Catalina/localhost/myapp.xml
Run Code Online (Sandbox Code Playgroud)
它不会被上下文文件替换:
mywebapp.war/META-INF/context.xml
Run Code Online (Sandbox Code Playgroud)
它写在这里:http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
仅当$ CATALINA_BASE/conf/[enginename]/[hostname] /中的应用程序不存在上下文文件时,才在应用程序文件内的/META-INF/context.xml中的单个文件中.
但是每当我重新部署战争时,它都会用/META-INF/context.xml替换这个myapp.xml!
它为什么这样做,我该如何避免呢?
感谢名单
小智 6
取消部署重新部署的一部分将删除应用程序和关联的context.xml.
如果您使用maven tomcat插件,则可以避免在使用以下命令部署应用程序时删除context.xml:
mvn tomcat:deploy-only -Dmaven.tomcat.update=true
Run Code Online (Sandbox Code Playgroud)
更多信息:https://tomcat.apache.org/maven-plugin-2.0-beta-1/tomcat7-maven-plugin/deploy-only-mojo.html
您也可以使用deploy-only参数模式来部署context.xml.
简短的回答:
只需将TOMCATHOME/conf/Catalina/localhost目录设置为只读,然后继续阅读以获取更多详细信息:
对于构建部署模式(通常用于暂存、QA 或生产),JDBC 数据源和其他“Web 资源”详细信息由 QA/生产团队定义,不再是开发团队。因此,它们必须在 Tomcat 服务器中指定,而不是在 WAR 文件中指定。在这种情况下,请在文件 TOMCATHOME/conf/Catalina/localhost/CONTEXT.xml中指定它们( 相应地,通过引擎更改Catalina ,通过主机更改localhost ,通过上下文更改CONTEXT )。但是,Tomcat 将在每次部署时删除此文件。为了防止这种删除,只需将该目录设置为只读即可;在 Linux 中你可以输入:
Run Code Online (Sandbox Code Playgroud)chmod a-w TOMCATHOME/conf/Catalina/localhost
瞧!别客气。
长答案
| 归档时间: |
|
| 查看次数: |
11286 次 |
| 最近记录: |