2012-02-28 105 views
0

我有两个maven项目,第二个项目扩展了第一个项目的一些类。我想用第一个项目的所有依赖项创建jar文件,并将其作为依赖项包含到另一个项目中。我很长时间以来一直在寻找这种方法,是否有可能做到这一点?Maven将依赖关系复制到另一个项目

我是新来的maven,任何帮助,将不胜感激。

感谢

回答

1

如果你只是想依赖添加到您添加第二个项目依赖于你的新项目,并第一个将被继承,并自动列入其他项目。这就是所谓的传递依赖。在免费书籍Maven: The Complete Reference中阅读更多关于它的信息。

+0

感谢Manfred Moser! – Arsalan 2012-03-07 14:17:04

0

如果我理解你的权利,你要创建一个包含所有依赖关系的尤伯杯罐子,对不对?

请参考这个问题How can I create an executable JAR with dependencies using Maven?

+0

感谢Olovier,我已经创建了jar与依赖关系,现在我想包括作为依赖另一个maven项目(在pom文件中),以便它将从我的本地.m2文件夹中选取。 – Arsalan 2012-02-28 16:39:51

0

在第二个项目的POM文件中,指定“依赖”部分下的第一个项目maven坐标(groupId,artifactId,版本,打包)。它会过渡地获取所有依赖的工件。

虽然Maven有可能生成一个独立的jar及其所有的依赖关系。为此,您可以使用maven-shade-plugin。 (Reference

0

有两种方法可以创建一个胖罐子。你将罐子本身包含在依赖罐子里。在这种情况下,你不会有太多的控制,maven assembly plugin会完成这项工作。或者,您可以解压缩jar并将所有内容压缩到一起以创建新的jar。你必须决定哪一个最适合你。如果你有同一个类的多个版本,那么在新的jar中包含整个jar会有所帮助,但是如果这些版本是连贯的,最好通过解压和压缩所有东西来创建jar。对于第二个程序,我建议使用maven shade plugin来创建超级罐子。

相关问题