校园网上超市网站建设推广企业网站源码 一品资源网
在 Maven 多模块项目中统一管理配置文件,可以通过以下步骤实现:例如MyBatis的配置文件
方案一:父项目统一管理资源(推荐)
1. 父项目结构
parent-project/
├── pom.xml
├── src/main/resources
│ └── mybatis-config.xml <-- 公共配置文件
└── sub-module1/
└── sub-module2/
2. 父项目 pom.xml 配置
<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>parent-project</artifactId><version>1.0.0</version><packaging>pom</packaging><modules><module>sub-module1</module><module>sub-module2</module></modules><!-- 公共资源声明 --><build><resources><resource><directory>src/main/resources</directory><includes><include>mybatis-config.xml</include></includes></resource></resources></build>
</project>
3. 子模块 pom.xml 配置
<project><parent><groupId>com.example</groupId><artifactId>parent-project</artifactId><version>1.0.0</version></parent><artifactId>sub-module1</artifactId><!-- 继承父项目资源 --><build><resources><resource><directory>../src/main/resources</directory><includes><include>mybatis-config.xml</include></includes></resource></resources></build>
</project>
方案二:创建公共依赖模块
1. 新建公共模块
common-module/
├── pom.xml
└── src/main/resources└── mybatis-config.xml
2. 公共模块 pom.xml
<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>common-module</artifactId><version>1.0.0</version><packaging>jar</packaging>
</project>
3. 子模块引用公共模块
<dependencies><dependency><groupId>com.example</groupId><artifactId>common-module</artifactId><version>1.0.0</version></dependency>
</dependencies>
方案三:使用 Maven 资源插件
在父项目 pom.xml 添加:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version><executions><execution><id>copy-resources</id><phase>validate</phase><goals><goal>copy-resources</goal></goals><configuration><outputDirectory>${basedir}/target/classes</outputDirectory><resources><resource><directory>../src/main/resources</directory><includes><include>mybatis-config.xml</include></includes></resource></resources></configuration></execution></executions></plugin></plugins>
</build>
使用注意事项
- 配置文件路径:建议通过类路径加载配置文件
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
-
版本管理:公共模块修改后需同步更新版本号
-
过滤配置:如需变量替换,可在资源插件添加:
<configuration><filters><filter>../config.properties</filter></filters><filtering>true</filtering>
</configuration>
- 打包验证:执行
mvn clean package后检查子模块的 target/classes 目录是否包含配置文件
根据项目实际情况选择方案:
- 方案一适合简单项目结构
- 方案二适合复杂项目需要共享更多资源时
- 方案三适合需要预处理配置文件的场景
