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

Jaco-Ben Vosloo:

是否可以在导出的独立Java应用程序中捆绑JRE?我们有一个非常具体的要求,即在未安装最新Java版本的计算机上运行独立的AnyLogic Java应用程序,并且由于公司的IT策略,我们将无法执行此操作。

通过一些研究,我发现一些站点声称他们已经在Windows和Mac上做到了。

在OSX上使用捆绑的JRE 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上运行并带有自己的嵌入式jre的Java应用程序,可在此处找到

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

谢谢

Jaco-Ben Vosloo:

我的一个不在Stack Exchange上的同事给了我答案,所以这很容易:

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

在Mac上

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

/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应用程序

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从命令行调用Wine安装的应用程序

如何从命令行停止OSGI应用程序

如何从命令行查找应用程序的路径?

如何从命令行停止Mule应用程序?

如何从命令行运行.NET Core控制台应用程序

如何从命令行运行GUI应用程序?

如何部署从命令行运行的Javascript应用程序?

如何从命令行停止正在运行的应用程序

如何从命令行运行 delphi VCL 应用程序

如何从命令行运行 MSIX 安装的应用程序

如何判断我的 PowerShell 模块函数是由 C# 应用程序调用还是从命令行调用?

从命令行运行而不是在Netbeans IDE中运行时,Maven Java应用程序崩溃

从Java运行交互式命令行应用程序

从命令行运行时如何在spring boot应用程序中传递命令行参数

如何从命令行Java应用程序更改命令提示符(控制台)窗口标题?

应用程序从命令行崩溃,但在Unity上运行正常

运行应用程序并从命令行启动浏览器

从命令行运行应用程序时,JavaFX 8视频播放冻结

无法从命令行使用Twitter4j运行应用程序

从命令行运行ASP.NET Web应用程序

hive应用程序显示即使在从命令行杀死后仍在运行

C#-从命令行全局运行控制台应用程序

从命令行运行 Maven Web 应用程序

Xubuntu从命令行设置首选应用程序

如何从命令行学习将在Unity的“系统设置”中启动应用程序的命令?

启动嵌入式 Tomcat 并从命令行打开浏览器

如何从命令行打开Windows应用商店应用程序?

从命令行运行UWP应用程序是“仅”,显示应用程序的初始屏幕

Spring Boot应用程序:将应用程序拆分为要从命令行运行的单独任务?