运行Tomcat并使用自己的server.xml部署项目

我只想运行一个使用pom.xml在maven项目中配置的Web项目。 它使用maven tomcat7-maven-plugin来部署Web应用程序工件,此时所有工作正常。

现在我想在tomcat配置中添加自己的server.xml和tomcat-users.xml。 我读到我需要添加以下行。

src/main/resources/tomcat/server.xml src/main/resources/tomcat/tomcat-users.xml 

这没关系。 它现在正在运行,并且使用上面的配置文件部署了tomcat,但问题是> 那里没有部署Web应用程序工件 (当我运行tomcat7:run时没有自动部署)。 看来插件没有检测到工件,只是启动tomcat服务器而不将工件添加到webapps只需使用新的配置文件。

我用这个配置。

  org.apache.tomcat.maven tomcat7-maven-plugin 2.0   tomcat-run  exec-war-only  package  http://localhost:8080/web-services /web-services src/main/resources/tomcat/server.xml src/main/resources/tomcat/tomcat-users.xml    com.koitoer.webservices web-services 1.0-SNAPSHOT war  /web-services       

但是tomcat开始部署webapp工件但不使用新的配置文件。

什么是正确的配置,我检查了这篇文章,但没有,这是可能的或我应该使用tomcat管理器手动添加war文件?

对于 , tomcat7-maven-plugin文档说:

要使用的server.xml 注意如果使用此选项,则必须在此文件中配置webapp路径。

我认为这意味着你必须在元素中插入带有war的路径的 元素,如下所示:

    

“webapp”是我生成的战争名称。 显然, appBasetarget/tomcat (并且“webapps”似乎是默认值)。 docBaseappBase相关,所以为了简单起见,我使用了构建目录的相对路径。

这对我有用,如果没有元素,我会得到一个白页。

如果您使用过滤,则可以用属性替换docBase 。 但是请注意从war文件中排除server.xml(和tomcat-users.xml)!

我已将以下内容添加到server.xml中,并且我的应用程序可以正常使用tomcat7:run-war命令:

     

以下是我在pom.xml中配置插件的方法

  org.apache.tomcat.maven tomcat7-maven-plugin 2.2  / src/main/tomcatconf/server.xml target/appName   com.abc appName 7.0.1 war     commons-logging commons-logging 1.1.1   org.slf4j jcl-over-slf4j 1.5.5   

我已将server.xml +其他配置文件放入src/main/tomcatconf目录(插件的默认值),并将context.xml放入META-INF目录和src/main/tomcatconf 。 该插件似乎从其中一个目录中获取了context.xml

希望这对你有用。

我想你可以试试这个配置

  ...  servidor-identidades-webapp   org.codehaus.mojo tomcat-maven-plugin 1.1  myserver http://127.0.0.1:8080/manager /servidor-identidades-webapp C:/Users/fulanis/workspace2/web/target/servidor-identidades-webapp.jar      

参考: https : //wiki.base22.com/display/btg/How+to+create+a+Maven+web+app+and+deploy+to+Tomcat+-+fast

希望这可以帮助。