我使用SwaggerCodeGen给出的示例通过SpringBoot创建服务器。 我用maven构建项目并在本地运行它。万事如意。
现在我想在tomcat(版本7)上部署这个项目。 所以我把包装从罐子换成了战争
<packaging>war</packaging>
并将* .war文件移至tomcat \ webapps文件夹
我试图运行
本地主机:8080 /应用
返回404
与
相同localhost:8080 / app / swagger-ui.html
localhost:8080 / v1 / app /
本地主机:8080 / V1 /应用程序/ API-文档
不幸的是,我没有使用tomcat的经验。
该项目不包含web.xml。有必要吗?
我需要创建一个Servlet吗?
任何帮助都将不胜感激。
答案 0 :(得分:0)
在您的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>
您的SpringBoot应用程序也应如下所示:
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);
}
}