我使用SwaggerCodeGen给出的示例通过SpringBoot创建服务器。我用maven构建项目并在本地运行它。 Everythings工作正常。
现在我想在tomcat(版本7)上部署这个项目。所以我把包装从罐子换成了战争
<packaging>war</packaging>
并将* .war文件移动到tomcat \ webapps文件夹
我试着跑
本地主机:8080 /应用程序
返回404
与...相同
本地主机:8080 /应用/招摇,ui.html 本地主机:8080 / V1 /应用/ 本地主机:8080 / V1 /应用/ API-文档
不幸的是,我没有使用tomcat的经验。 该项目不包含web.xml。有必要吗?我需要创建一个Servlet吗?
任何帮助,将不胜感激。
在您的POM中,您需要:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
和
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.9</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
您的Spring Boot应用程序也应如下所示:
public class SpringBootServiceApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootServiceApplication .class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringBootServiceApplication .class);
}
}