Java |单个项目中的多个 POM 文件
Java | Multiple POM files in single project
我正在后台使用 Java 自动化框架构建一个自动化工具,用户将无法访问主 POM.xml 文件。有时用户需要添加自定义 Java 函数,这需要额外的依赖项/存储库。目前我必须更改主 POM 文件以满足用户请求。用户只能访问“src/test/java/com/script/custom”文件夹来编写自定义脚本/函数。我探索了 Parent/Child POM、插件管理、配置文件等选项,但示例主要针对多个项目。我是 NodeJs/Angular 人,所以我是 Java 的初学者。
Project
|
|--src/test/java/com/script/custom
| |
| custom_code.java
| |
| custom_pom.xml
|
--pom.xml
用户应仅在 custom_pom.xml 中输入其他依赖项/存储库。父级 pom.xml 仍将持有项目的主体 dependencies/repos。
运行 代码(除了测试)违背了 Maven 作为 build 工具的核心概念。但是,有一些方法可以在构建时执行任意代码:
- Exec Maven Plugin
- 没有额外的插件(并且有干净分离的项目):
+- project
| +- pom.xml
+- custom
+- src/main/java/com/script/custom
| +- CustomCode.java ... convention for Java class names is CamelCase
+- src/test/java/com/script/custom
| +- CustomCodeTest.java ... instantiates and runs CustomCode
+- pom.xml ... containing <parent><relativePath>../project
对于 <parent>
,请参阅 Introduction to the POM #Project Inheritance. See also Maven: Lifecycle vs. Phase vs. Plugin vs. Goal 了解更多基础知识。
我正在后台使用 Java 自动化框架构建一个自动化工具,用户将无法访问主 POM.xml 文件。有时用户需要添加自定义 Java 函数,这需要额外的依赖项/存储库。目前我必须更改主 POM 文件以满足用户请求。用户只能访问“src/test/java/com/script/custom”文件夹来编写自定义脚本/函数。我探索了 Parent/Child POM、插件管理、配置文件等选项,但示例主要针对多个项目。我是 NodeJs/Angular 人,所以我是 Java 的初学者。
Project
|
|--src/test/java/com/script/custom
| |
| custom_code.java
| |
| custom_pom.xml
|
--pom.xml
用户应仅在 custom_pom.xml 中输入其他依赖项/存储库。父级 pom.xml 仍将持有项目的主体 dependencies/repos。
运行 代码(除了测试)违背了 Maven 作为 build 工具的核心概念。但是,有一些方法可以在构建时执行任意代码:
- Exec Maven Plugin
- 没有额外的插件(并且有干净分离的项目):
+- project
| +- pom.xml
+- custom
+- src/main/java/com/script/custom
| +- CustomCode.java ... convention for Java class names is CamelCase
+- src/test/java/com/script/custom
| +- CustomCodeTest.java ... instantiates and runs CustomCode
+- pom.xml ... containing <parent><relativePath>../project
对于 <parent>
,请参阅 Introduction to the POM #Project Inheritance. See also Maven: Lifecycle vs. Phase vs. Plugin vs. Goal 了解更多基础知识。