idea打包springboot项目,打包成war包,如何不把lib目录或指定jar打进去?

发布时间 2023-07-22 23:31:44作者: 且行且思

1、在pom.xml文件中添加如下配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

 

2、在使用maven打包时,有些时候需要排除某些文件或者排除某些jar,不把这个文件和jar打入到war包里面

<!-- war包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>

<configuration>
    <warName>loginweb</warName>
    <outputDirectory>target</outputDirectory>
    <!-- 排除  -->
    <packagingExcludes>
        WEB-INF/classes/*jdbc.properties,
        WEB-INF/classes/*config.properties,
        regex[WEB-INF/lib/(?!log4j-1|common-1).*.*.jar]
    </packagingExcludes>
</configuration>
</plugin>

 或

<packagingExcludes>
<!-- WEB-INF/classes/com/thinkgem/jeesite/** -->
WEB-INF/classes/org/apache/ibatis/**,
WEB-INF/classes/org/mybatis/spring/**,
WEB-INF/classes/jeesite-dev.properties,
WEB-INF/lib/com.supermap.*.jar,
WEB-INF/lib/com.supermap.*.*.jar
</packagingExcludes>

 

配置说明:
1. WEB-INF/classes/*_jdbc.properties: 过滤 任何前缀的 _jdbc.properties 配置文件
2. %regex[WEB-INF/lib/(?!log4j-1|common-1)...jar] 通过正在表达式配置打包时,排除除了log4j-1和common-1 的 1.任何版本的jar包。即打包时只添加这两个jar包到war包里面,其他的任何jar都排除不打包进去
3. 如果有多个条件,用逗号隔开。对于packagingExcludes 的详细使用,请查看官网:
http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html