问题标签 [jpackage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
239 浏览

jpackage - jpackage 创建一个挂起的安装程序

我正在尝试jpackage为我的 Java 应用程序创建安装程序。我在使用 OpenJDK 15.0.1 的 Windows 10 上。我应该能够使用

更新:我最初发布了使用 --app-image 选项时发生的问题,但它只发生在基本命令中。

这运行没有错误,但生成的可执行文件MyApp-1.0.exe无法完成。当我运行它时,一个窗口会在我有时间阅读之前短暂弹出并消失,然后没有进一步的反应。它永远不会问到“你想允许这个应用程序进行更改吗?”。然后,如果我尝试删除MyApp-1.0.exe,Windows 会告诉我,“该操作无法完成,因为该文件已在 MyApp 的安装程序中打开。” 重新启动 Windows 后,我可以删除安装程序。

有时我能够生成一个可以工作的安装程序,我兴高采烈地得出结论,我刚刚尝试的任何变体都是一个修复,只是在我下次尝试时它会失败。成功或失败似乎是随机的。特别是,我有一个安装程序版本,可以在我的 Windows 10 笔记本电脑上运行,但在我的 Windows 10 台式电脑上挂起。

我已经使用 jdk.java.net 的 JDK 16 的早期访问版本进行了尝试,但问题仍然存在。

这是前两篇文章的后续: jpackage crash when creating an installer with the --app-image option and jpackage --type app-image 创建无限递归目录

0 投票
0 回答
232 浏览

java - 将 jpackage(和 jlink)与签名库一起使用

我有一个使用 BouncyCastle 作为依赖项的 JavaFX 应用程序。
我想生成一个嵌入轻量级 JRE 15 的可执行文件。
为此,我使用适用于 jlink 的 java jpackage 工具。问题是这个命令没有像 BouncyCastle 那样管理签名库。

确实,我得到:

该选项--ignore-signing-information不能在 jlink 上使用,因为我没有对 jpackage 的控制。如果我可以使用此选项,我将无法在我的应用程序中使用 BouncyCastle。

是否有解决方案将我的应用程序打包到包含我的应用程序、JRE 及其依赖项的 Windows 可执行文件中?

0 投票
2 回答
125 浏览

java - 在 Win10 上运行服务器的 Jpackage 问题我可能做错了什么?

当谈到 java 打包的细节时,我是一个完整的新手。

我已经通过 jdk-15 使用 Java-15 编写了一个 TCP 数据服务器,它在 VSCode 下运行时工作得非常愉快。

我希望将它作为 MRS_Server.exe 分发,而不需要在主机上加载 java,也不必分发我的代码。

我设法使用以下命令运行 Jpackage:-

jpackage --type app-image --name MRS_Server --input C:\Users\steve\Documents\workspace1_neon\Pi_Server --main-jar C:\Users\steve\Documents\workspace1_neon\Pi_Server\Pi_Server.jar

jpackage --type exe --app-image MRS_Server --name MRS_Server

这会产生 MRS_Server-1.0.exe。反过来,它会创建文件夹 C:\Program Files\MRS_Server,其中包括我在 MRS_Server\app 文件夹中的代码副本、一个 MRS_Server\runtime 文件夹,我假设它包含运行服务器所需的所有文件,以及文件 MRS_Server.exe和 MRS_Server.ico。

此时我运行 C:\Program Files\MRS_Server\MRS_Server.exe ...什么也没发生!??我已经在没有安全程序的机器上运行它并添加到 Windows 防火墙中。它应该打开一个窗口并等待交通但什么也没有?该程序不显示在任务管理器中。

我错过了什么?我宁愿不必用另一种语言重写服务器。

史蒂夫·霍尔

0 投票
0 回答
96 浏览

java - 使用 jpackage 构建我的 JavaFX 应用程序后的数据库错误连接

我正在使用 MySQL 数据库 (AWS) 开发 JavaFX 项目。当我从 Intellij 启动我的项目时,它运行良好,但是当我尝试使用 jpackage 和 build.gradle 导出、安装和启动我的应用程序时,我得到一个带有以下错误的窗口:

我不明白问题出在哪里。所有连接都通过 AWS 授权到我的数据库,jpackage 进程运行没有错误,正如我之前所说,当我从 IntelliJ 启动时它可以完美运行。

这是我的 build.gradle

预先感谢您的帮助

0 投票
1 回答
532 浏览

java - 启动使用 jpackage 部署并安装的 JavaFx 应用程序时找不到 JVM

我已经用 jpackage 打包了一个 JavaFx (14) 项目,以便在 .exe 设置中进行部署。

项目依赖项是:

  • Java 14.0.2
  • JavaFx 14.0.2.1
  • JRE 1.8.0_271(已删除

因此,在我在几台机器(大约 6 台)上部署期间,它在几台机器上都成功了,但在其他机器上我有这个错误:

尽管所有依赖项都已正确安装在这些机器上,并且环境变量定义良好。

有人可以帮我吗


经过一些修复(@Slaw@mipa提到,我生成了一个新包,安装它。但是当我运行软件(myApp.exe)时,我有这个错误

经过一些研究,解决方案是使用 java 命令创建一个批处理文件,该文件将运行位于 C:\Program Files\ 软件文件夹中的 .jar 文件

我已经完成了,它运行的软件非常好,但是是否有另一种优化解决方案可以直接运行没有批处理文件的软件?

因为在某些计算机上,批处理没有运行软件,返回同样的错误:Failed to lunch JVM

请帮忙

0 投票
0 回答
77 浏览

java - jpackage 不创建/捆绑运行时

有没有办法告诉jpackage(JDK15)只打包我的应用程序(jar 文件)而不创建和捆绑运行时?

我希望我的应用程序使用主机/客户系统上已经存在的 jre/jdk。我知道javapackager从 JDK8 是可能的,但我找不到 JDK15 的任何东西。

谢谢你的帮助

0 投票
0 回答
136 浏览

java - Java15 fx15,使用 jpackage、maven、shaded 非模块化 .jar 运行良好!但安装运行 pkg - 应用程序说旧 JRE,java mongo 驱动程序异常

令人费解的是 3 周.. 所以我知道 jlink、jdeps 和 jpackage 相当好.. 但不知道 jpackage 如何在内部工作,在这种情况下是 Mac ......但我也在 Win10 和 Win 10x64 openjdk/fx 环境中得到同样的交易..我已经用尽了这个谜题中的所有(我认为)红鲱鱼。,

所以 jar 在 openjdk15 bin 目录中运行良好.. 但是当我 jpackage 并打开安装 mac 应用程序(在 pkg 安装之后).. 然后我收到有关缺少模块的投诉(好像它可能会遇到一个 xcode old jre 或在我构建的运行时或路径上的 jdk .. all openjdk 15.0.1 上到达 jdk 之前的东西。

所以它是 jpackage 在内部构建的可执行内容中所做的事情,它没有正确调用 jar(即使我不使用 jlink 和 jpackage 它只是添加模块用于 fx jmods 命中路径 mvn jdk .. 也是 openjdk15.0.1)

[处理完成]

jpackage 在评论中..

jdeps..

./jdeps --print-module-deps --ignore-missing-deps /Users/johnallen/Downloads/input/modsim-1.0-SNAPSHOT.jar
java.base,java.compiler,java.desktop,java.instrument,java .management,java.naming,java.scripting,java.security.jgss,java.security.sasl,java.sql,jdk.jfr,jdk.unsupported

当我确实构建了一个运行时..

当然作为 jdk15.0.1 文件夹中的 .jar 调用运行得很好

./Users/johnallen/downloads/jdk-15.0.1.jdk/Contents/Home/bin/java --module-path /Users/johnallen/Downloads/javafx-sdk-15.0.1/lib --add-modules= javafx.controls,javafx.fxml -jar /Users/johnallen/Downloads/input/modsim-1.0-SNAPSHOT.jar

0 投票
0 回答
149 浏览

sql-server - How do you package a Java SQL Server application that uses integrated security with Eclipse?

I'm new to Java. I'd like to build a CRUD application with SQL Server as the database. It will be implemented on an Active Directory domain and I'd like to use integrated security. How can I package the application so that the driver including the authentication library "mssql-jdbc_auth-9.2.0.x64.dll" be included and used in the installed application.

I created a test application where I included a Java Build Path\Classpath entry of: "C:\Program Files\Microsoft JDBC DRIVER 9.2 for SQL Server\sqljdbc_9.2\enu\mssql-jdbc-9.2.0.jre15.jar" for the driver.

It runs in Eclipse with integrated security if I put a copy of the authentication library "mssql-jdbc_auth-9.2.0.x64.dll" from the driver in either of the following directories:

  • C:\Program Files\Java\jdk-15.0.2\bin
  • C:\Windows\System32
  • C:\Program Files\SQL1-Test\runtime\bin of installed application

Or use:

  • VM run configuration arguments: -Djava.library.path="C:\Program Files\Microsoft JDBC DRIVER 9.2 for SQL Server\sqljdbc_9.2\enu\auth\x64" in the project.

When I try to export to a jar file for packaging with the above VM arguments applied it says "VM arguments will not be part of the runnable JAR".

The installed application will run with integrated security if the the authentication library "mssql-jdbc_auth-9.2.0.x64.dll" is in any of the above directories.

How can the I ensure that the authentication library "mssql-jdbc_auth-9.2.0.x64.dll" will be functionally included in the installed application.

Has anyone created such an application or have pointers on how to do this.

Thanks.

0 投票
1 回答
384 浏览

java - jpackage not found - mac OS

I'm trying to make my .jar file with the javafx stuff into an executable application, but when I try to do jpackage on the command line, I'm getting command not found. I've downloaded the latest jdk-15.0.1_osx-x64_bin.dmg from Oracle.

0 投票
2 回答
50 浏览

java - JavaFX jpackage 应用程序出现错误 -10810

这是我制作可执行应用程序的命令:jpackage --input Desktop/java\ project --main-jar javaproject.jar --module-path /Users/Denton/Desktop/javafx-sdk-15.0.1/lib --add-modules javafx.controls,javafx.fxml

我在 MacOS 上,尝试打开它时,出现此错误: LSOpenURLsWithRole() failed with error -10810在命令行上。我不完全确定我的命令是否正确。(如果需要,) info.plist 文件是:

.jar 文件使用以下命令在命令行上运行:java --module-path /Users/Denton/Desktop/javafx-sdk-15.0.1/lib --add-modules javafx.controls,javafx.fxml -jar Desktop/java \project javaproject.jar