我可以使用maven deploy来使用maven部署多个jar吗?

时间:2012-07-28 07:08:39

标签: maven

我想知道我是否可以使用maven deploy plugin部署多个jar?

3 个答案:

答案 0 :(得分:1)

是的,你可以。将您想要部署其JAR的所有项目作为父项目的模块,然后在部署父项目时,将部署所有子项目JAR。

请参阅此处的教程:http://www.sonatype.com/books/mvnex-book/reference/multimodule.html

答案 1 :(得分:1)

如果要从一个模块部署2个或更多JAR,请使用程序集:maven-assembly-plugin的单个目标,其中attach设置为true: http://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html

答案 2 :(得分:0)

正如Nishant评论的那样,有2例。

具有依赖关系的项目

假设您有一个主项目,就像一个框架,它会产生一堆罐子。由于它是一个大项目,它应该分成许多小项目。但是有一个主项目可以驱动所有其他项目。简而言之,它是一个多项目项目

+-main-project/
+--src/
| +-- ...
+--pom.xml
|
+--submodule1
| +--src/
| +--pom.xml
+--submodule1
| +--src/
\ +--pom.xml

这将产生至少2个jar(submodule1.jar和submodule2.jar)

多模块项目旨在处理这种关系。 mvn deploy ill部署所有jar。

生成N个罐子的简单项目

考虑您有一个包含多个来源的项目

+-main-project/
+--src/
| +--main/
| | +--java-core/
| | |--+/ClassA.java
| | +--java-entities/
| | |--+/ClassE.java
| | +--java-interfaces/
| | |--+/IClass.java
+--pom.xml

这将产生3个罐子(核心,实体,接口)。这永远不会被设置! 规则是1 pom - > 1个工件(特殊情况下为2个,如资源,zip,ejb-client ......)

因此,mvn deploy将无法在远程仓库中放置超过1个jar。如果你找到一个解决方法(有一些插件),这真的是一个坏主意。 Maven不是为此而准备的。但是,不用担心,你只需将你的项目拆分为一个。

我希望它足够清楚,因为你的第一条信息并不准确:)