亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Maven應用之打包時排除指定jar包

標簽:
Java

图片描述
写在前边的话:
在用项目打包时,每次都会把那些固定的、不会轻易改变的文件(项目引用的Jar包、样式等)打到war包中,十分浪费时间,尤其是上线项目时。向服务器上传程序包,会白白的耗费好多时间。
那么有没有一种行之有效且简单方便的方法解决这个问题呢?
图片描述
别锤别锤,答案肯定有啊!要不我在这费这大劲码字干嘛?
在配置pom文件时可以通过<packagingIncludes><packagingExcludes>参数对最终打包文件实现过滤、包含操作。并且支持正则表达式实现过滤规则,多个过滤条件之间使用逗号","分隔,支持"*"通配符。
过滤掉所有jar包

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

该种配置,使用了"*"通配符,在执行mvn package时不会将WEB-INF/lib下的jar包文件打包。
有时候如果只是使用通配符并不能迎合开发中的某些需求,这时候可以使用强大的正则表达式。如下
使用正则和通配符过滤特定的jar包

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <!--
            Exclude JCL and LOG4J since all logging should go through SLF4J.
            Note that we're excluding log4j-<version>.jar but keeping
            log4j-over-slf4j-<version>.jar
          -->
          <packagingExcludes>
            WEB-INF/lib/commons-logging-*.jar,
            %regex[WEB-INF/lib/log4j-(?!over-slf4j).*.jar]
          </packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

这种情况也是比较常用的。上边这个配置中,实现的需求是排除以commons-logging-开头的所有jar包和log4j-<version>.jar格式的所有jar包(不会排除log4j-over-slf4j-<version>.jar这种格式的jar包)
...
算了,不贴图了...go home..

我可以对一个人无限的好,前提是值得。 ——慕冬雪

點擊查看更多內容
16人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
9126
獲贊與收藏
5503

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消