我正在尝试构建我的应用程序jar(非可执行jar),它的所有依赖项jar文件也要解包。
简单地解释一下我的问题,在eclipse中,导出可运行/可执行的jar,有一个选项“Extract required libraries into generated jar”。
请帮助我同样的选项为不可运行的jar也。
谢谢
没有。
作为背景:在JAR文件(有时称为fat JAR或app JAR)中打包依赖项不是本机Javahtml" target="_blank">机制,而是使用封装在JAR中的自定义类加载器或启动脚本嫁接而来。
如果您使用Eclipse创建了一个可运行的JAR文件,它将使用一个包装器来运行您的应用程序,该应用程序可以读取打包的库。如果打开导出的JAR文件并查看它的清单,就可以看到这一点:
Manifest-Version: 1.0
Rsrc-Class-Path: ./ [removed]
Class-Path: .
Rsrc-Main-Class: com.example.Test
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
有一些机制可以将JAR文件组合成一个单独的文件,方法是解压缩依赖项,然后将它们重新打包到您的JAR中。例如:如何组合两个Jar文件
但是请注意,通过重新打包第三方JAR,您可能会遇到签名类或冲突元数据的问题。
如果您想要发布库和/或正确地管理依赖项,我建议查看构建系统,如Maven(http://Maven.apache.org/)或Gradle(http://www.cradle.org/)。我个人更喜欢Gradle。
编辑:这个项目看起来很有前途:https://github.com/puniverse/capsule
我在我的项目中使用了Maven和几个库,其中一些嵌套在最后的JAR文件中。 提前谢了。
问题内容: 我有一个ZIP文件目录(在Windows计算机上创建)。我可以使用手动解压缩它们,但是如何通过外壳解压缩当前文件夹中的所有ZIP文件呢? 使用Ubuntu Linux服务器。 问题答案: 根据以下链接,这可以在bash中运行: 解压缩\ *。zip
你能帮我解决这个问题吗? 谢了!
我正在尝试使用Ant1.9.6从您的项目中构建一个jar文件。在构建jar文件时,我没有得到任何编译错误,但是在执行它时,我得到了NoClassDefoundError。我已经在生成的清单文件中验证过,我可以看到所需的依赖JAR被添加到类路径中,如class-path:lib/a.jar lib/b.jar lib/c.jar。lib文件夹与src文件夹并行,因此不可能是问题。我正在Mac OS上
本文向大家介绍Apache Maven 创建具有项目所有依赖项的.jar文件,包括了Apache Maven 创建具有项目所有依赖项的.jar文件的使用技巧和注意事项,需要的朋友参考一下 示例 要创建包含所有依赖项的JAR,可以使用内置描述符格式jar-with-dependencies。以下示例package使用此内置描述符并声明的主类来配置绑定到该阶段的Assembly Plugin的执行co