我有一个接受插件的系统,让用户可以向管理系统添加功能。该插件基本上只是一个具有某种格式的 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