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>
    

    打包结果完全符合预期!

  • 相关阅读:
    python 装饰器
    python 环境迁移之requirements.txt (window环境)
    selenium 元素查找与属性
    pytest+allure(allure-pytest基于这个插件)设计定制化报告
    Capability配置
    python_excel
    python_连接mysql
    MySql_1
    appium_环境搭建
    appium_appium简介
  • 原文地址:https://www.cnblogs.com/netWild/p/13236082.html
Copyright © 2011-2022 走看看