gpt4 book ai didi

java - 如何从命令行调用嵌入式 jre 以运行 java 应用程序

转载 作者:搜寻专家 更新时间:2023-10-31 20:17:50 24 4
gpt4 key购买 nike

是否可以在导出的独立 Java 应用程序中捆绑 JRE?我们有一个非常具体的要求,即在没有安装最新 Java 版本的机器上运行独立的 AnyLogic Java 应用程序,并且由于公司 IT 政策,我们将无法这样做

通过一些研究,我发现一些网站声称他们已经为 Windows 和 Mac 做了这件事。

Using a bundled JRE on OSX https://wiki.openjdk.java.net/display/MacOSXPort/How+to+embed+a+.jre+bundle+in+your+Mac+app http://www.intransitione.com/blog/take-java-to-app-store/

我的问题是,这些帖子中的大多数都提到了为 Mac OS x 捆绑应用程序,并要求在像 Eclipse 这样的 IDE 中创建 jar 文件。但是由于我使用 AnyLogic,jar 文件在我无法干预的情况下被导出。我需要的是更改运行 jar 文件的命令行代码,目前看起来像这样:

java -Xdock:name="AnyLogic Model" -Dnativewindow.awt.nohidpi=true -cp com.anylogic.engine.jar:com.anylogic.engine.nl.jar:lib/database/querydsl/querydsl-sql-codegen-3.6.3.jar -Xmx256m model6.Simulation $*

(注意:为了可读性减少了代码)

我假设将传递 jre 或 JVM 的东西用作 java 调用的参数。或者可能设置用于 java 或其他东西的目录...因为在没有安装 java 的机器上调用 java 命令不会呈现任何内容。

我有一个非常简单的应用程序,以及一个从 moneydance 应用程序获得的 jdk 插件,这是一个在 OSx 上运行的 java 应用程序,带有自己的嵌入式 jre,可在此处获取

https://www.dropbox.com/sh/1bedimsb0lj403t/AADYR7iFoBD4YiqS_RGZ2xAVa?dl=0

谢谢

最佳答案

我的一个不在 Stack Exchange 上的同事给了我答案所以这里是,实际上很简单:

为了满足我的特定情况,只需在您提供给客户端的文件夹的根目录中包含一个 jre,然后在执行文件中引用 java 可执行文件。 Windows 和 Mac 的解决方案略有不同,所以这里是:

在 Mac 上

您可以在以下文件夹中找到jre。这是一个隐藏文件夹,因此如果您的 Mac 未设置为显示隐藏文件夹,请使用 command-shift-g 转到 finder 并转到

/Library/Java/JavaVirtualMachines/

应该有jdk文件夹然后导航到

jdk1.8.0_45.jdk/Contents/Home/jre 

在 Windows 上

jre的位置在

c:\Program Files\Java\

您可以看到 AnyLogic 在代码行中自动创建的 .bat 文件中的位置,如下所示:

@SET PATH_XJAL="%DISK_XJAL%\Program Files\Java\jre6\bin\java.exe"

一旦您拥有 jre,将此文件夹复制到与独立 Java 应用程序相同的位置。然后唯一剩下的就是更改 mac 命令行可执行文件和 windows.bat 文件中的引用位置

在 Mac 上

改变自

java -Xdock:name="AnyLogic Model"

./jre/bin/java -Xdock:name="AnyLogic Model"

在 Windows 上

改变自

    @SET PATH_XJAL="%DISK_XJAL%\Program Files\Java\jre6\bin\java.exe"

   @SET PATH_XJAL= \jre6\bin\java.exe"

在 Mac 和 Windows 上运行 java 应用程序现在将独立于机器上的 Java 版本或是否已安装

关于java - 如何从命令行调用嵌入式 jre 以运行 java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com