springboot打war包瘦身

springboot打war包以后怎么使用maven瘦身,将jar包放入到指定目录中。war包可以放在tomcat下运行

直接用idea导出包就可以。

https://www.jb51.net/article/139235.htm希望对你有所帮助

可以将jar放到tomcat的bin目录下所有tomcate项目工程都可以使用该jar。maven引入的时候scope设置为compile

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

1 pom 配置 

 <!-- 单独解决打包问题 依赖不传递 START -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 打包war [2] 移除自带内置tomcat -->
            <exclusions>
                <exclusion>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作-->
            <!--<scope>provided</scope>-->
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <!-- 屏蔽最新版本,不然会引起版本不一致的冲突 -->
            <!--            <version>RELEASE</version>-->
        </dependency>
        <!-- 单独解决打包问题 依赖不传递 END -->

 

2  启动类

public class DemoApplication extends SpringBootServletInitializer {

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

    /**
     * 配置转义字符,解决当请求路径中特殊字符,高版本tomcat解析失败的问题
     *
     * tomcat 配置文件 org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
     */
    @Bean
    public ServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory fa = new TomcatServletWebServerFactory();
        fa.addConnectorCustomizers(connector -> {
            connector.setProperty("relaxedQueryChars", "(),/:;<=>?@[\\]{}");
            connector.setProperty("rejectIllegalHeader", "false");
        });
        return fa;
    }

    /**
     * 解决打成war包 source的问题
     * @param builder 构建器
     * @return 结果
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SocietyApplication.class);
    }