【问题标题】:mvn tomcat:run mixes up with application URImvn tomcat:run 与应用程序 URI 混淆
【发布时间】:2026-02-05 20:35:01
【问题描述】:

当我部署应用程序或使用 mvn tomcat:run 测试它时,我在 jsp 文件中的起始 url 出现不同的行为

这是在cloudbees上部署应用程序的jsp代码

    <form method="post" action="/import" enctype="multipart/form-data">
        <input type="file" name="file"/>
        <input type="submit"/>
    </form>

而当我使用 mvn tomcat:run 时,我需要添加 maven 工件 ID 作为表单操作部分的 url 的开头:

    <form method="post" action="my-application/import" enctype="multipart/form-data">
        <input type="file" name="file"/>
        <input type="submit"/>
    </form>

任何关于我应该查看什么样的配置参数的帮助将不胜感激。 谢谢

【问题讨论】:

    标签: jsp maven tomcat cloudbees


    【解决方案1】:

    这是在 pom.xml 中的 maven tomcat 插件部分通过This documentation link 中所述的路径参数控制的。

    将路径设置在 / 将确保当您在 PC 上尝试使用 mvn tomcat7:run 以及在 cloudbees 上部署后,您具有相同的 url 行为。这是 pom.xml 的摘录:

    <build>
           <plugins>
                ...
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    【讨论】: