[英]Cannot include 3rd-party jars into Android application with the maven-android-plugin
[英]Maven: Export jar with 3rd-party jars added to classpath in manifest
我正在使用Eclipse开发Java maven项目,并希望导出包含所有引用库的jar 。 这些引用的库属于以下两个类别之一:
它们是pom.xml
中的显式(或隐式) 依赖项
我有一些库不能用作maven工件并将它们放在/ lib中(并将它们添加到Eclipse中的构建路径中)
有maven-assembly-plugin
,适用于1)。 但是,我无法找到包含非maven依赖项的maven插件,例如"all jars in /lib"
。
然后是Eclipse FatJar
插件,这种插件有效,但自2009年以来一直没有更新,因此它似乎没有维护。 另外我更喜欢我可以在pom.xml
直接指定的导出方法。
任何人都可以指向我的maven
插件或类似的东西,以导出所有引用的库 ,包括案例2)? 这只需要将它们放在jar中并在manifest的类路径中引用它们。
谢谢!
我认为处理此问题的最佳方法是将自定义库包含到本地maven存储库中。 现在,您可以将库作为maven依赖项包含在内,并且可以使用maven-assembly-plugin导出pom中指定的所有依赖项。
这是一个教程,如何将您的lib放入maven中的本地存储库,以便在您的pom中使用它。 http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/
在你的pom.xml中:
<!-- setup jar manifest to executable with dependencies -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>your.main.class</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
这看起来像是第谷的任务。 它是一组maven插件,允许使用maven创建eclipse插件。 Tycho将清单条目视为构建依赖项。
但是我不知道如何在一个jar中打包所有这些依赖项。 这也可能与osgi规范相冲突。 但是如果你想忽略osgi,你可以尝试使用jar-with-dependencies程序集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.