java - Maven 从一个模块创建多个 jar

标签 java maven jar packaging generated

我有一个 Maven(多模块)项目,其中包含类似 IAction 的内容。在这个项目中,我实现了大约 50 个不同的操作。每个 Action 都包含一个 MyAction.java 和一个 MyAction.properties 文件。

我使用 Java 的 SPI (java.util.spi) 在运行时加载所有实现。这一切都很好,但现在我想将每个 Action 打包到一个 jar 中,这样我最终得到 50 个 jar。

完成此任务的好方法是什么?我真的不想为每个操作创建一个子模块,因为这需要大量维护。

最佳答案

您可以使用 Maven assembly plugin为了创建用于构建模块的附加 Artifact 。但是,请注意,一旦创建这些 Artifact ,您就需要将它们添加到部署队列中,以防您不想只构建这些 Artifact 。这可以通过使用例如 build-helper-maven-plugin 来实现。 .

但是,对于超过 50 个元素的迭代,您可能需要考虑编写自己的专用插件。还有其他插件允许迭代另一个插件,但这会破坏你的 POM。如果构建因此非常具体,您可能会因此考虑编写一个专门用于此任务的单独插件。您可以使用纯 Java 而不是 XML 来执行此操作,而且并不像听起来那么难。有文档和 Maven 的默认 API。您可以查看命名插件的源代码,了解如何实现您的要求。

关于java - Maven 从一个模块创建多个 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24552246/

相关文章:

java - 合并两个凸包

java - 使用连接表的 Hibernate 一对一单向映射

java - Maven 和 JOGL 库?

maven - 我如何从Jersey 1.0迁移到Jersey 2.0?

java - Tool/Bundle-Name/Export-Package 等在 jar list 中意味着什么

java - 即使存在主类,Java也无法找到主类

包括 jar 在内的 android lib 的 Android 应用程序

java - 如果应用程序有多个模块并且每个模块都是单独的项目,那么在 jboss 和 eclipse 中调试 java 应用程序的最佳方法是什么

java - 如何在java中将html表格的列宽转换为excel列的宽度

java - Solr和java项目版本控制