美文网首页
springboot -war包的构建

springboot -war包的构建

作者: 今天比昨天努力 | 来源:发表于2019-07-30 10:34 被阅读0次

由于不是所有人都喜欢简单化,jar包的方便不用,被要求打war包,在这里书写一下打war包的过程.全文以tomcat作为服务器来说明过程。

1,首先pom文件,如果你创建项目的时候是采用的内嵌服务器的形式,那么需要排除掉内嵌的tomcat,所以看下面:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

 <exclusions>

<exclusion>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

</exclusion>

</exclusions>

</dependency>

2,排除掉内嵌的服务器,我们这个时候需要引入外部服务器tomcat,和servlet,由于SpringBootServletInitializer需要servlet包所以需要引入servlet jar包。

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

<scope>provided</scope>

</dependency>

servlet的jar包不要引用,不然会和tomcat中的jar包冲突。

为什么使用provided,编译和测试有效,最后生成war包不会产生。

3,使用外部服务器时,就不能依赖主函数了,而是需要 使用java函数或者文件xml的形式来配置启动spring应用上下文,需要在启动类中继承SpringBootServletInitializer并实现configure方法。

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

return application.sources(启动类.class);

}

4,打包的方式也需要变更,pom文件中的<packaging>war</packaging>

maven构建也需要变化

<build>

<plugins>

        <plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<configuration>

<mainClass>主类的位置,完成包名+主类名</mainClass>

</configuration>

<executions>

<execution>

<goals>

<goal>repackage</goal>

</goals>

</execution>

</executions>

            <dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>springloaded</artifactId>

<version>1.2.3.RELEASE</version>

                </dependency>

</dependencies>

</plugin>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>1.8</source>//java版本

<target>1.8</target>

</configuration>

</plugin>

</plugins>

</build>

相关文章

网友评论

      本文标题:springboot -war包的构建

      本文链接:https://www.haomeiwen.com/subject/cickjttx.html