Java:创建嵌入了依赖 jar 的 jar 可执行文件 [英] Java : create jar executable with dependant jars embedded

查看:26
本文介绍了Java:创建嵌入了依赖 jar 的 jar 可执行文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经用清单创建了一个可执行的 JAR:

I have created an executable JAR with the manifest:

Manifest-Version: 1.0
Main-Class: MyClass
Class-Path: lib/ext.jar

如果我在创建的 .jar 文件夹中有文件夹 lib 和依赖 ext.jar,我就可以成功运行这个 JAR.

I can successfully run this JAR if I have folder lib with dependent ext.jar in the folder of .jar created.

我想将 ext.jar 嵌入到我的可执行 JAR 中,以便在我想要的任何地方启动它,而无需创建 lib 文件夹.这将允许 JAR 文件自包含,包括其所有依赖项.

I would like to embed ext.jar in my executable JAR to launch it anywhere I want, without creating lib folder. This would allow the JAR file to be self-contained, including all of its dependencies.

有没有办法做到这一点?

Is there any way to do this?

推荐答案

默认的 Java 类加载器无法在 jar 文件中找到嵌入的 jar.您需要将 Java 程序设置为使用可以处理嵌入式 jar 文件的类加载器.据我所知,我在任何开源库中都没有看到过,因此您可能需要自己编写一个.

The default Java class loader cannot find an embedded jar inside a jar file. You will need to set your Java program to use a class loader which can deal with embedded jar files. As fas as I know, I have not seen one in any opensource libraries so you may need to write one yourself.

或者,您可以提取所有 jar 文件并将内容合并到一个 jar 文件中.

Alternatively, you can extract all the jar files and combine the the content into a single jar file.

组合多个罐子的干净方式?最好使用 Ant

这篇关于Java:创建嵌入了依赖 jar 的 jar 可执行文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆