我有一个接受插件的系统,让用户可以向管理系统添加功能。该插件基本上只是一个具有特定格式的zip文件(即该目录中的文件x,该目录中的y)。目前我使用maven-assembly-plugin插件制作zip。
问题在于,让所有插件保持同步以及让其他插件成为插件是很尴尬的,因为他们需要正确的assembly.xml
因此,我一直在尝试制作自定义打包类型,以便开发人员可以制作这样的插件:
<groupId>com.example</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>plugin</packaging> //not a standard type
这主要是有效的,但现在丑陋的事情是每个插件总是依赖于核心系统中的某些API。因此它们基本上都具有相同的依赖关系。
mojo是否有可能将依赖项注入mojo的用户?这似乎说它不能: http://maven.40175.n5.nabble.com/How-to-inject-dependencies-from-a-mojo-td83025.html
答案 0 :(得分:0)
在评论中回答:
我遇到了一个非常明显而简单的解决方案。我做了一个&#34; pom&#34; 包含依赖项的项目,并询问开发人员 包括pom作为依赖。这很好地解决了我的问题,因为我 可以将依赖关系集中在一个地方和每个&#34;插件&#34;能够 如果需要,可以传递到核心api依赖项。简单 Peasy。 - mlathe Mar 27&#39; 13 at 22:12