我有一个系统接受插件让用户添加功能到管理系统。该插件基本上只是一个具有特定格式的zip文件(即该目录中的文件x,该目录中的y)。目前我使用maven-assembly-plugin插件来制作zip文件。通过maven插件注入依赖关系
的问题是,它是尴尬让我的所有插件同步,并让别人做一个插件,因为他们需要有正确的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
你读过你提到的线程中的答案? – khmarbaise 2013-03-27 07:46:44
@khmarbaise是的,但那是5年以前。谁知道从那以后发生了什么。 – mlathe 2013-03-27 19:46:31
我遇到了一个非常明显和简单的解决方案。我制作了一个包含依赖关系的“pom”项目,并要求开发人员将该pom作为依赖项。这很好地解决了我的问题,因为我可以将依赖关系集中在一个地方,并且每个“插件”都可以在需要时可传递到核心API依赖关系。十分简单。 – mlathe 2013-03-27 22:12:58