Java 使用';运行';tomcat7 maven插件的目标是';不尊重默认上下文路径
我正在本地开发一个web服务,使用maven构建并部署到tomcat。我使用maven插件在本地运行,使用Java 使用';运行';tomcat7 maven插件的目标是';不尊重默认上下文路径,java,maven,tomcat,maven-tomcat-plugin,Java,Maven,Tomcat,Maven Tomcat Plugin,我正在本地开发一个web服务,使用maven构建并部署到tomcat。我使用maven插件在本地运行,使用mvntomcat:run作为我的运行配置 现在,正在使用默认项目名称作为上下文路径部署我的服务: http://localhost:8080/myArtifactId/servletPath 相反,我希望通过配置tomcat maven插件来删除上下文路径,并部署到此url: http://localhost:8080/servletPath 根据本文件: 我正在尝试: &
mvntomcat:run
作为我的运行配置
现在,正在使用默认项目名称作为上下文路径部署我的服务:
http://localhost:8080/myArtifactId/servletPath
相反,我希望通过配置tomcat maven插件来删除上下文路径,并部署到此url:
http://localhost:8080/servletPath
根据本文件:
我正在尝试:
<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>
org.apache.tomcat.maven
tomcat7 maven插件
2.1
/
有没有关于为什么我所尝试的不起作用的想法,或者我可以用另一种方式来解决这个问题?正如我所说的,我正试图通过maven插件来实现这一点
或者,有人知道如何将其作为参数传递给运行配置吗?可能在命令行显式传递它会覆盖默认值
更新:从命令行运行mvn tomcat7:run
或mvn clean tomcat7:run
,使其按预期工作。但是,当我在Eclipse中使用Maven Build
run配置运行时,不管我在pom.xml
中的path变量中放了什么,服务都是使用默认工件ID启动的
更新:这似乎是EclipseMaven插件的问题。当我从命令行运行命令时,一切正常,但当尝试添加带有Tomcat7:run目标的Eclipse/Maven运行配置时,项目使用默认工件id上下文路径继续运行。当遇到Maven问题时,它们大多通过使用clean插件得到解决(
mvn clean
)用于清除项目的工作目录
这应该可以解决问题。也许听起来很傻,但是您是否在pom中定义了两次tomcat插件?一个是您正在显示的设置,另一个是不同的路径?我只是在我的整个工作区中搜索了一次(所有文件都匹配
*.
)对于tomcat7-maven插件
,在我的pom.xml中只找到了一个实例。你尝试过mvn-clean-tomcat7:run
?我记得我在使用Eclipse时遇到了同样的问题,但我没有找到解决方案。我想这是关于Eclipse的,但可能是关于tomcat插件的。@Bart-成功了。我没有太多使用maven,所以我很抱歉仍然习惯于细微差别。请将此作为一个答案,以便我可以投票/接受。实际上,当我运行命令行时,这看起来很有效。但是,当我从使用Maven Build
模板创建的Eclipse运行配置运行时,它仍然默认为工件id上下文路径。我放弃了使用带有ma的Eclipseven插件。我从来没有一个项目没有遇到过问题。当问题出现时,它们大多是使用Maven->Update project
临时修复的。这似乎不起作用。我将用eclipse Maven插件提交一个bug。与此同时,我可能只安装google终端插件,然后从命令行,而不是通过maven运行配置。