Springboot项目打jar打war

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步

  1. pom文件的package为war

    <packaging>war</packaging>
    
  2. 排除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>
    
  3. 添加打包时的依赖,与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>
    
  4. 添加webapp目录,与main下的java、test同级别,这个webapp和传统工程一样

    java
    test
    webapp
       |---WEB-INF
         |---jsp
           |---login.jsp
           |---result.jsp
         |---web.xml
    
  5. 改造启动类

    @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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值