【发布时间】:2018-03-21 14:45:20
【问题描述】:
如果我有两个 maven 插件,其中 A 依赖于 B 和 B 有配置参数,我应该如何以及在哪里为 B 定义配置?
我可以想到三种解决方案,我知道哪一种不适用,我不确定哪一种可行,或者还有其他可能性。不幸的是,即使是这个简单的案例,我也找不到任何示例。
试试 1(不可能)
将<configuration> 放在依赖项下。这是不可能的,因为 <dependency> 标记不能包含 <configuration> 标记 (see xsd)。
<plugin>
<groupId>A</groupId>
<artifactId>A</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>B</groupId>
<artifactId>B</artifactId>
<version>1.0.0</version>
<configuration>
<paramForB><param>bbb</param></paramForB>
</configuration>
</dependency>
</dependencies>
</plugin>
试试 2
把配置参数放到A的config下。
<plugin>
<groupId>A</groupId>
<artifactId>A</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>B</groupId>
<artifactId>B</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<configuration>
<paramForB><param>bbb</param></paramForB>
</configuration>
</plugin>
试试 3
将B 作为一个单独的插件引入我需要的配置。
<plugin>
<groupId>B</groupId>
<artifactId>B</artifactId>
<version>1.0.0</version>
<configuration>
<paramForB><param>bbb</param></paramForB>
</configuration>
</plugin>
<plugin>
<groupId>A</groupId>
<artifactId>A</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>B</groupId>
<artifactId>B</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</plugin>
更多问题(只是好奇)
- 另外,如果
B依赖于C会怎样。我应该如何配置C? - 如果我有一个 maven 插件
X,它也依赖于B,但会与其他配置一起使用:我可以这样做吗?
【问题讨论】:
-
如果你有两个插件,它们就不能相互依赖......此外,插件的依赖关系是不同的......你只能给插件配置,但不能给依赖关系。也许你可以举一个更具体的例子来完成你想要完成的事情......
-
感谢您的评论,我已经阅读了有关该主题的更多信息并找到了答案。
标签: maven