如何使用maven为spring boot创建war文件?

时间:2014-11-12 13:41:55

标签: maven spring-boot

我试图按照指南将春季项目转换为战争。

http://spring.io/guides/gs/convert-jar-to-war/

它开始使用maven和gradle然后在jar部分之后它完全忘记了maven并且只有gradle更新。

2 个答案:

答案 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上不起作用的原因。