我有一个似乎很简单的问题要解决,但是即使经过数小时的尝试和搜索,我似乎也找不到一个合理的答案。
请考虑以下Maven项目模块设置(例如,组ID为org.example,版本为1.0):
-A
|-B
|-C
|-D
|-E <--- maven plugin
所以我的子模块C有两个子模块,其中一个(E)是一个maven插件。我现在位于(A的)根目录中,并试图通过CLI调用E的mojo,但无法执行。我尝试了以下方法:
mvn E:my-mojo
mvn E:my-mojo -pl C/E -am
mvn org.example:E:1.0:my-mojo
mvn org.example:E:my-mojo
前两个导致错误,即没有前缀为E
的插件。另外两个版本尝试分别从我们的软件包镜像中下载org.example:E:1.0
或org.example:E
,这当然会失败,因为它是本地的而不是分布式的。
是否可以仅通过CLI调用我的插件?例如,当我将插件添加到<build/>
配置内的模块B中时,它就可以工作。