我有一个名为" 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来构建项目。而且我不想更改服务名称。我需要在应用程序本身的某个地方提供上下文路径。不能依赖服务器。我应该提供所有配置,因此在部署之后不需要进行任何配置。
答案 0 :(得分:2)
你应该可以像这样重命名战争
<build>
<finalName>springapp</finalName>
. . .
</build>
答案 1 :(得分:2)
您还可以将Tomcat服务器上的应用名称更改为:
现在您的应用将位于URI:http://localhost:8080/springapp
答案 2 :(得分:1)
如果您正在使用eclipse,那么您可以转到yourproject->properties->Web Project settings
来更改根上下文。然后在此处更改上下文根并重新启动服务器