springboot jar 转换成war

本文详细介绍如何将SpringBoot项目从JAR包转换为WAR包进行部署,包括修改启动类、POM配置、Tomcat设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Boot是支持发布jar包和war的,但它推荐的是使用jar形式发布。使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题。所以,jar包不一定合适适用所有的场景,如war包更合适,你可以尝试转为传统的war包,这样打补丁包可能更方便。

1.修改Spring Boot启动类
启动类继承 SpringBootServletInitializer类,并覆盖 configure方法。
public class XXXApplicationWar extends SpringBootServletInitializer {

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

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(XXXApplicationWar .class);
}

}
2.修改jar为war包形式
在pom文件中,添加war包配置。
war
3.去除Spring Boot内置Tomcat
修改自带tomcat依赖范围为provided,防止与外部tomcat发生冲突。

org.springframework.boot
spring-boot-starter-tomcat
provided

javax.servlet javax.servlet-api 3.1.0 provided 4.修改war包和target目录下项目名 方式(1)推荐 hcs org.springframework.boot spring-boot-maven-plugin

方式(2)


hcs


org.springframework.boot
spring-boot-maven-plugin

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

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source><!--这里版本需和服务器版本保持一致-->
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
5.修改Tomact下 conf/server.xml 添加 注意:docBase="hcs" 不能与文件前缀名称相同例如:/upload/XXXXX.jpg 6.修改端口(非必需操作) 打开server.xml文件,找到,把port = "8080"修改为指定端口port="XXXX"。 7.tomcat 修改内存配置(非必需操作) LINUX 下调整: 修改bin目录下catalina.sh文件在cygwin=false之上 添加以下语句 JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m" 其中-xms为jvm初始化堆的大小,-xmx为jvm堆的最大值 WINDOW下调整: 修改bin目录下catalina.bat文件@echo off下追加 set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m

Enclipse下调整:
open launch configuration=>arguments=>vm arguments
追加-Xms1024M -Xmx4096M -XX:PermSize=512m -XX:MaxPermSize=2048m

8.tomcat配置多个端口(非必需操作)
先拷贝一份干净webapps重新命名例如webapps1
conf/server.xml 增加service









注:
autoDeploy=“false” deployOnStartup="false"这两个选项都为true的时候(一般默认autoDeploy为true)
这时候会自动加载/部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值