如何使用 Maven 不同环境使用不同资源文件 提升项目安全性

需求:

之前的文章介绍过,不同环境,配置文件可以灵活构建,参考Maven 不同环境灵活构建

进一步的,打包时时可以进一步优化,即开发环境,构建时只将测试资源文件打包到应用中,进一步提升项目的安全性。

1. 使用插件

pom.xml

xml 复制代码
 <!--    打包时将 将不同环境的配置文件复制到jar包中        -->
 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <version>3.2.0</version>
     <executions>
         <execution>
             <id>copy-resources</id>
             <phase>process-resources</phase>
             <goals>
                 <goal>copy-resources</goal>
             </goals>
             <configuration>
                 <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                 <resources>
                     <resource>
                         <directory>src/main/resources/resources-env/${env}</directory>
                         <filtering>false</filtering>
                     </resource>
                 </resources>
             </configuration>
         </execution>
     </executions>
 </plugin>

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
       	<!-- 环境隔离 排除不需要的文件-->
        <excludes>
            <exclude>resources-env/**</exclude>
        </excludes>
    </configuration>
</plugin>
相关推荐
Full Stack Developme7 分钟前
Java DFA算法
java·python·算法
Yukinaaaa18 分钟前
以“轮盘数组”思维彻底搞懂并实现阻塞队列
java·服务器·ide·安全·javaee·阻塞队列·轮盘数组
夕除28 分钟前
AOP 实现 Redis 缓存切面解析
java·开发语言·python
库拉大叔29 分钟前
工具调用效率对比实测:GPT-5.5与Gemini 3.5 Flash性能评估
java·前端·人工智能
我是唐青枫33 分钟前
Java MyBatis 实战指南:XML 映射、动态 SQL 与数据访问层设计
java·mybatis
摇滚侠35 分钟前
Spring 零基础入门到进阶 面向切面 AOP 52-60
java·后端·spring
就改了44 分钟前
微服务接口性能优化:CompletableFuture 并行聚合实践
java·微服务·性能优化
林森lsjs1 小时前
【日耕一题】4. 较为复杂情况下的求和
java·开发语言
Hui Baby1 小时前
虚拟线程整理
java
白露与泡影1 小时前
2026秋招冲刺:1000道Java高频面试题(各大厂考点汇总)
java·开发语言·面试