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 工具的核心概念。但是,有一些方法可以在构建时执行任意代码:

  +- 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 了解更多基础知识。