Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用';运行';tomcat7 maven插件的目标是';不尊重默认上下文路径_Java_Maven_Tomcat_Maven Tomcat Plugin - Fatal编程技术网

Java 使用';运行';tomcat7 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 根据本文件: 我正在尝试: &

我正在本地开发一个web服务,使用maven构建并部署到tomcat。我使用maven插件在本地运行,使用
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运行配置。