1

我目前正在使用 Spring Roo 构建一个相当简单的 webapp。然而,Spring 应用程序似乎默认部署到“/{app name}”,而不是“/”作为顶级目录。也就是说,控制器由“/{app name}/person”映射,而不仅仅是“/person”。经过相当多的探索之后,我看不出这将在哪里解决。它是某个地方的设置吗?

4

2 回答 2

2

基本路径由应用程序服务器定义,而不是应用程序本身。在 pom.xml 中,覆盖以下插件:

maven-war-plugin - mvn 包,mvn tomcat:run-war

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <warName>ROOT</warName>
                <!-- exclude test files from war package -->
                <packagingExcludes>src/test/**</packagingExcludes>
            </configuration>
        </plugin>

tomcat-maven-plugin - mvn tomcat:run

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>tomcat-maven-plugin</artifactId>
            <version>1.1</version>
            <configuration>
                <path>/</path>
            </configuration>
        </plugin>

org.mortbay.jetty - mvn 码头:运行

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.0.4.v20111024</version>
            <configuration>
                <webAppConfig>
                    <contextPath>/</contextPath>
                </webAppConfig>
            </configuration>
        </plugin>
于 2012-09-02T08:37:26.933 回答
0

假设您的 Spring Roo 应用程序在 Apache Tomcat 上运行,您可以做的是配置 Tomcat Root 上下文。

您可以通过以下方式执行此操作。

  1. 在 conf/Catalina/localhost 中定义一个 ROOT.xml 上下文文件
  2. 将您的 webapp WAR 命名为“ROOT.war”或包含文件夹“ROOT”</li>

更多信息可以在以下链接中找到。

http://benhutchison.wordpress.com/2008/07/30/how-to-configure-tomcat-root-context/

干杯!

于 2012-08-26T17:35:58.557 回答