2017-03-16 87 views
1

这里新来的maven来自蚂蚁世界构建maven项目以创建客户端jar的最佳方式是什么?

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

是否有可能产生这个神器作为我的主Maven项目的副作用? 例如:当我运行mvn包时,主项目会生成一个包,但是我想通过提供一些其他参数生成客户端jar。

+1

Maven具有标准结构。你必须遵守这一点。标准的Maven生命周期包括包;这就是您可以选择如何打包应用程序的地方。 – duffymo

回答

0

标准的Maven方式是“一个项目,一个jar”。这意味着实现您的目标的最简洁的方法是设置一个多模块项目,您的“普通”罐子和“客户”罐子都有一个模块。但也有其他可能性:

  1. 如果你是在谈论一个EJB,你可以使用maven-EJB-插件,并创建一个客户端神器。不幸的是,这两个工件然后共享相同的pom(并因此具有相同的依赖关系)。

  2. 您可以使用maven-assembly-plugin来组装一组文件,并将它们部署为副工件(与(1)中的问题相同)。

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

+0

这3个都不会创建可运行的jar。 –

+0

OP在哪里说罐子应该可以运行? –

+0

你说得对,我的脑子里装满了罐子。垃圾回答。 –

1

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

的结构是这样的:

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

在这里,你可以有你的主应用程序的所有代码/文件child 1模块,并把所有的代码/文件,客户端的child 2模块中。

父模块只是一个聚合器,它会产生pom类型的工件。而你的每个孩子模块都会生产个人jars。 然后,你可以在你的客户端的第二个罐子。

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

相关问题