构建maven项目以构建客户端jar的最佳方法是什么?

时间:2017-03-16 14:03:09

标签: maven

maven的新手......来自蚂蚁世界

我需要创建一个带有几个文件的客户端jar,这些文件将使我的客户能够写入我的Db并对我的服务进行休息调用。 这些主要是包装Rest连接和db客户端的类。

是否有可能将此工件作为我的主要maven项目的副作用? 例如:当我运行mvn包时,main项目会生成一个包,但是我想通过提供一些其他参数来生成客户端jar ....

2 个答案:

答案 0 :(得分:1)

这里需要的是一个多模块maven项目。

结构如下:

-- Parent Module
----- Child 1 Module
----- Child 2 module

您可以在child 1模块中获取主应用程序的所有代码/文件,并将客户端的所有代码/文件放在child 2模块中。

父模块只是一个聚合器,它生成类型为pom的工件。而您的每个子模块都会生成单独的jars。 然后你可以在你的客户端中使用第二个罐子。

要详细了解多模块项目的工作原理,请查看此link

答案 1 :(得分:0)

标准的Maven方式是"一个项目,一个jar"。这意味着实现目标的最简洁方法是建立一个多模块项目,在这个项目中,您可以使用一个模块来实现正常的"罐子和一个为您的"客户"罐。但还有其他可能性:

  1. 如果您正在谈论ejb,您可以使用maven-ejb-plugin并创建客户端工件。不幸的是,两个工件然后共享相同的pom(因此,相同的依赖关系)。

  2. 您可以使用maven-assembly-plugin来组合一组文件并将它们作为侧面工件进行部署(与(1)中的问题相同)。

  3. 您可以使用maven-install-plugin和maven-deploy-plugin来安装/部署完全不同的工件以及主工件。这些工件需要在之前创建,例如通过自定义maven插件。