Maven 打包war文件

原创
2018/05/24 17:17
阅读数 221

pom.xml设置

1.设置打包类型为war

<packaging>war</packaging>

2.如果需要通过命令行的方式启动,需要增加如下设置

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>${spring.boot.version}</version>
    <executions>
         <execution>
             <goals>
                 <goal>repackage</goal>
             </goals>
         </execution>
    </executions>
</plugin>

说明:这样在war包中/META-INF/MANIFEST.MF中增加信息

Start-Class: com.xxx.Application
Spring-Boot-Classes: WEB-INF/classes/
Spring-Boot-Lib: WEB-INF/lib/
Spring-Boot-Version: 2.0.2.RELEASE
Created-By: Apache Maven 3.5.3
Build-Jdk: 1.8.0_172
Main-Class: org.springframework.boot.loader.WarLauncher

其中:

Start-Class为标注为@SpringBootApplication的类

@SpringBootApplication
public class Application extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(this.getClass());
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }
}

其他信息不用管,是spring boot loader读取的,Main-Class为WarLauncher表示启动war,还有JarLauncher表示启动jar。

3.如果工程中没有web.xml文件,那么需要增加设置,避免maven打包报错

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.1</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

4.设置spring boot

有两种方式来引入spring boot

a)在parent节点指定

b)在dependencyManagement节点引入,同时设置<type>pom</type><scope>import</scope>

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部