我试图按照指南将春季项目转换为战争。
http://spring.io/guides/gs/convert-jar-to-war/
它开始使用maven和gradle然后在jar部分之后它完全忘记了maven并且只有gradle更新。
答案 0 :(得分:2)
您需要在pom中进行两项主要更改。第一种是将项目的包装类型更改为war
:
<groupId>org.springframework</groupId>
<artifactId>gs-convert-jar-to-war</artifactId>
<version>0.1.0</version>
<packaging>war</packaging>
第二种是在spring-boot-starter-tomcat
上添加一个依赖项并将其标记为提供:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
mvn package
现在将生成一个war文件,该文件可以使用java -jar
运行或部署到单独的servlet容器中。
答案 1 :(得分:1)
春天有一个官方指南: http://spring.io/guides/gs/convert-jar-to-war-maven/
注意“初始化servlet”部分。
它解释了添加替换web.xml的类的重要一点。如果没有它(或没有正确的web.xml),你将获得一个war文件,但是在部署时,浏览器中什么都不可访问,因为没有任何东西会被注册为你的请求调度程序。
另请注意,最好在Tomcat 8上运行此示例,因为它支持最新的servlet规范。我花了好几个小时试图找出它在我的Tomcat 7上不起作用的原因。