SpringBoot打jar包
根据官方的,只需要引入依赖插件即可,支持自定义配置
<build>
<plugins>
<!-- 打包成可执行的jar -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 如果不想继承父工程的plugin,支持自定义插件配置参数 -->
<!--<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>-->
</plugin>
</plugins>
</build>
执行package命令,即可打jar包
target
|---classes
|---generated-sources
|---generated-test-sources
|---maven-archiver
|---maven-status
|---test-classes
|---nginx-foward-proxy-webapp-2.4.1.jar
|---nginx-foward-proxy-webapp-2.4.1.jar.original
SpringBoot打war包
这里打包有些不同,分为5步
-
pom文件的package为war
<packaging>war</packaging>
-
排除spring-boot-starter-web内置的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>
-
添加打包时的依赖,与servlet相关
<!-- 添加servlet依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency> <!-- 添加jstl标签库依赖模块 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!--添加tomcat依赖模块.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- 使用jsp引擎,springboot内置tomcat没有此依赖 (如果用到jsp可以使用 )--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>
-
添加webapp目录,与main下的java、test同级别,这个webapp和传统工程一样
java test webapp |---WEB-INF |---jsp |---login.jsp |---result.jsp |---web.xml
-
改造启动类
@SpringBootApplication // 继承SpringBootServletInitializer类,并复写configure public class NginxForwardProxyApp extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(NginxForwardProxyApp.class); } // 启动入口不变 public static void main(String[] args) { SpringApplication.run(NginxForwardProxyApp.class,args); } }
最后,使用打包命令package