通过运行应用程序(直接)启动一个小型SpringBoot应用程序,REST服务localhost:8080 / xyz / a提供了正确的JSON结果。
通过IntelliJ我配置了Tomcat服务器。我添加了这个WAR,其上下文根为' / contextroot'。所以我希望URL REST是localhost:8080 / contextroot / xyz / a。这会导致404错误。
您能帮助我获得正确的配置或网址吗?
有没有办法查看哪些网址从控制器映射到网址?或者:我如何更容易地解决这些映射问题(来自Tomcat)?
在Maven Pom.xml中,我有:
<groupId>nl.xyz</groupId>
<artifactId>contextroot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>contextroot</name>
<packaging>war</packaging>
内部也是背景。
答案 0 :(得分:1)
@Jonhib - 谢谢你的帮助。
问题是我将SpringBoot(jar)应用程序部署为WAR的方式。
采取以下3个步骤将SpringBoot标准应用程序更改为可部署(旧式)WAR。这是必需的,因为我将它与Angular4应用程序一起部署。
步骤1 - 更改标准SpringBoot应用程序:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application .class);
}
public static void main(String[] args) {
SpringApplication.run(Application .class, args);
}
}
从&#39; jar&#39;更改建筑流程的目标进入战争&#39;
&LT;包装和GT;战争&LT; /包装&GT;
在pom.xml maven文件中添加新的依赖项:
&LT;依赖性&GT; ... &LT;依赖性&GT; &LT;&的groupId GT; org.springframework.boot&LT; /&的groupId GT; &LT; artifactId的&GT;弹簧引导起动的Tomcat&LT; / artifactId的&GT; &LT;范围&GT;条件&LT; /范围&GT; &LT; /依赖性&GT; ... &LT; /依赖性&GT;