zoukankan      html  css  js  c++  java
  • 关于Maven打包(Jar)时文件过滤的正确做法

    在对项目进行maven打包时,某些特殊文件的过滤一直存在问题,终于有时间搞清楚了。

    一般在项目中,分为以下两个部分:

    • 代码文件:src/main/java

    默认打包规则是仅包含 *.class 字节码文件,忽略其他格式。

    • 资源文件:src/main/resources

    默认打包规则是包含全部文件。

    之前的做法

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-jar-plugin</artifactId>
    	<version>3.1.0</version>
    	<excludes>
    		<exclude>**/*.properties</exclude>
    		<exclude>**/*.psd</exclude>
    	</excludes>
    </plugin>
    

    可以看到是利用maven-jar-plugin插件来进行文件过滤的
    实际上也确实达到了预期效果

    但如果代码文件中也想包含除了class以外的其他文件,尝试添加 时,却意外的发现连 class 文件都被忽略了,多次尝试也未成功。

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-jar-plugin</artifactId>
    	<version>3.1.0</version>
    	<excludes>
    		<exclude>**/*.properties</exclude>
    		<exclude>**/*.psd</exclude>
    	</excludes>
    	<includes>
    		<include>**/*.jw</include>
    		<include>**/*.json</include>
    	</includes>
    </plugin>
    

    正确的做法

    利用 resources 标签:

    <resources>
    	<resource>
    		<directory>src/main/java</directory>
    		<includes>
    			<include>**/*.jw</include>
    			<include>**/*.json</include>
    		</includes>
    	</resource>
    	<resource>
    		<directory>src/main/resources</directory>
    		<excludes>
    			<exclude>**/*.properties</exclude>
    			<exclude>**/*.psd</exclude>
    		</excludes>
    	</resource>
    </resources>
    

    打包结果完全符合预期!

  • 相关阅读:
    Matlab中save与load函数的使用
    bsxfun函数
    matlab中nargin函数的用法
    Leetcode 188. Best Time to Buy and Sell Stock IV
    Leetcode 123. Best Time to Buy and Sell Stock III
    leetcode 347. Top K Frequent Elements
    Leetcode 224. Basic Calculator
    Leetcode 241. Different Ways to Add Parentheses
    Leetcode 95. Unique Binary Search Trees II
    Leetcode 96. Unique Binary Search Trees
  • 原文地址:https://www.cnblogs.com/netWild/p/13236082.html
Copyright © 2011-2022 走看看