Tomcat使用war name作为Spring启动的基本URL

时间:2016-09-09 06:44:59

标签: java spring tomcat spring-boot

我有一个名为" springapp"的Spring Boot应用程序。它的基URI为:

 http://localhost:8080/

当我将它作为独立应用程序运行时,它运行正常。但是,当我按照&#34运行它时,运行为 - >在Server"上运行在Eclipse中,它会将war名称附加为springapp-1.0-snapshot,基本URL将变为:

 http://localhost:8080/springapp-1.0-snapshot

有什么方法可以解决这个问题。我希望URI为

 http://localhost:8080/springapp

我在我的application.properties中尝试了以下所有配置,但它们都没有工作:

 spring.webservices.path=/springapp
 server.tomcat.basedir=/springapp
 spring.jersey.application-path=/springapp
 server.contextPath=/springapp
 server.servlet-path=/springapp

这是我的入门级:

    @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
    @ImportResource("classpath:spring-config.xml")
    public class SpringAppStarter extends SpringBootServletInitializer {

        private static final Logger GENERAL_LOG = LogManager.getLogger(SpringAppStarter .class);

        @Override
        protected SpringApplicationBuilder configure(
                SpringApplicationBuilder application) {
            return application.sources(SpringAppStarter.class);
        }

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            GENERAL_LOG.info("Starting Spring  Service App");

            SpringApplication.run(SpringAppStarter .class, args);
        }
    }

和我的请求映射类:

 @RestController
 @RequestMapping("/Customers")
 public class SpringAppResource {
    @RequestMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }
 }

我还在META-INF文件夹中添加了上下文配置:

 <Context>
     <context docBase="springapp" path="/springapp" reloadable="true"/>
 </Context>

我正在使用Maven来构建项目。而且我不想更改服务名称。我需要在应用程序本身的某个地方提供上下文路径。不能依赖服务器。我应该提供所有配置,因此在部署之后不需要进行任何配置。

3 个答案:

答案 0 :(得分:2)

你应该可以像这样重命名战争

<build>
  <finalName>springapp</finalName>
 . . .
</build>

答案 1 :(得分:2)

您还可以将Tomcat服务器上的应用名称更改为:

  1. 在“服务器”视图中双击您的服务器实例
  2. 将标签从“概述”切换到“模块”(位于配置屏幕的底部)
  3. 在列表中选择您的应用程序,然后单击右侧的“编辑”
  4. 将“Path”设置为“springapp”(或任何您想要的URI名称)
  5. 点击“确定”并保存更改。
  6. 现在您的应用将位于URI:http://localhost:8080/springapp

答案 2 :(得分:1)

如果您正在使用eclipse,那么您可以转到yourproject->properties->Web Project settings来更改根上下文。然后在此处更改上下文根并重新启动服务器