我正在本地使用Web服务,使用maven构建并部署到tomcat。我正在使用maven插件在本地运行,使用mvn tomcat:run
作为我的运行配置。
现在,我的服务正在使用默认项目名称作为上下文路径进行部署:
http://localhost:8080/myArtifactId/servletPath
我想改为部署以删除上下文路径,并通过配置tomcat maven插件部署到此URL :
http://localhost:8080/servletPath
根据此文档:http://tomcat.apache.org/maven-plugin-2.1/tomcat7-maven-plugin/usage.html
我正在尝试这个:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- Why isn't this working??? -->
<path>/</path>
</configuration>
</plugin>
关于我为什么尝试不起作用的任何想法,或者我可以采取不同的方式来解决这个问题?正如我所说,我正试图通过maven插件来做到这一点。
或者,是否有人知道如何将此作为参数传递给运行配置?也许在命令行显式传递它将覆盖默认值。
更新:从命令行运行mvn tomcat7:run
或mvn clean tomcat7:run
会使其按预期工作。但是当我在Eclipse中使用Maven Build
运行配置运行时,无论我在pom.xml
中的路径变量中添加了什么,都会使用默认工件ID启动服务。
更新:这似乎是Eclipse Maven插件的问题。当我从命令行运行命令时,一切都按预期工作,但是当尝试使用Tomcat7:run目标添加Eclipse / Maven运行配置时,项目使用默认的工件ID上下文路径继续运行。
答案 0 :(得分:1)
当遇到maven问题时,他们通常会使用 clean 插件(mvn clean
)解决问题,该插件会清除项目的工作目录。