首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使可执行javafx jar与依赖的jar捆绑在一起?

如何使可执行javafx jar与依赖的jar捆绑在一起?
EN

Stack Overflow用户
提问于 2013-02-27 11:33:20
回答 3查看 2.1K关注 0票数 2

我制作了一个javafx应用程序表单,我得到一个可执行的jar作为输出。现在,我的javafx应用程序依赖于两个第三方jars,比如commons.io.2.4.jar。

现在,为了运行我的应用程序,我必须将这些依赖的jar保存在我的可执行jar的类路径中,如下所示

代码语言:javascript
复制
--------Application.jar
----------[Classpath Folder]\dependend.jar files

,但我希望所有依赖的jar都捆绑在我的可执行jar本身中.

因为javafx使用ant构建,所以我尝试使用

代码语言:javascript
复制
 <jar destfile="application.jar">
        <zipfileset src="Dependent.jar" />
 </jar>

但是,在捆绑了所有依赖的jar之后,我无法得到可执行的jar。我不知道问题出在哪里。

我也尝试了相同的<fx:jar> </fx:jar>标记,但无法确定如何准确地实现我的需求。

这就是清单文件的样子:

代码语言:javascript
复制
Manifest-Version: 1.0
implementation-vendor: dhruv1767
JavaFX-Version: 2.2
implementation-title: LogsDeObfuscator
implementation-version: 1.0
JavaFX-Application-Class: com.liaison.controller.LogsDeObfuscator
JavaFX-Class-Path: lib/allatori.jar lib/commons-io-2.4.jar
Created-By: JavaFX Packager
Main-Class: com/javafx/main/Main

Name: com/javafx/main/Main.class
SHA-256-Digest: j0IuLabX3l0TgeO1+UqESD6fWA09lNsuiTtr4eue1HU=

Name: com/liaison/controller/LogsDeObfuscator.class
SHA-256-Digest: AysvgvCJeJoRdCpqu1xC8JDKttGWUQR4ce8jVW/kLDY=

Name: com/liaison/controller/Delta.class
SHA-256-Digest: TkQcfU1YWr6UwkiIj2IJpFi4UirQK7pDL26pVnAjVYM=
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-28 16:43:29

需要注意的一件事是,任何依赖的JAR本身是否包含一个清单。

代码语言:javascript
复制
<jar destfile="application.jar">
    <zipfileset src="Dependent.jar" excludes="META-INF/MANIFEST.MF/>
</jar>
票数 1
EN

Stack Overflow用户

发布于 2013-02-28 16:18:42

在使用exe4j之前,我遇到了同样的问题,我添加了所需的所有jars,exe4j将它们捆绑在一起。这对我有用。在添加Jar时,请确保添加主jar的主类路径。

票数 0
EN

Stack Overflow用户

发布于 2013-02-28 17:47:12

试试看:

http://www.zenjava.com/2012/11/24/from-zero-to-javafx-in-5-minutes/

Maven是必需的,但它会使添加您的公域IO依赖关系变得非常简单。

按照指示,我能够为Ubuntu制作一个可执行的JAR和本机安装程序。可执行的JAR生成是使用以下命令完成的:

代码语言:javascript
复制
mvn jfx:build-jar

从链接中获取示例项目。然后将依赖项添加到POM文件中。

代码语言:javascript
复制
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

然后,可以将现有代码移动到Maven托管的JavaFX项目。

有关该链接的详细信息,但要生成本机安装程序,请运行以下命令:

代码语言:javascript
复制
mvn jfx:build-native
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15111043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档