Jac*_*loo 6 java command-line anylogic
是否可以在导出的独立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 $*
Run Code Online (Sandbox Code Playgroud)
(注意:为减少可读性,减少了代码)
我认为它将传递jre或JVM用作Java调用的参数。或将目录设置为用于Java之类的目录,因为在未安装Java的计算机上调用java命令不会呈现任何内容。
我有一个非常简单的应用程序,以及从moneydance应用程序中获得的jdk插件,这是一个可在OSx上运行并带有自己的嵌入式jre的Java应用程序,可在此处找到
https://www.dropbox.com/sh/1bedimsb0lj403t/AADYR7iFoBD4YiqS_RGZ2xAVa?dl=0
谢谢
我的一位不在 Stack Exchange 的同事给了我答案,所以这实际上很简单:
为了满足我的具体情况,只需在您提供给客户端的文件夹的根目录中包含一个jre,然后在执行文件中引用java可执行文件。Windows 和 Mac 的解决方案略有不同,因此如下:
在苹果机上
您可以在以下文件夹中找到 jre。它是一个隐藏文件夹,因此如果您的 Mac 未设置为显示隐藏文件夹,请转到查找程序,使用 command-shift-g 并转到
/Library/Java/JavaVirtualMachines/
Run Code Online (Sandbox Code Playgroud)
应该有一个 jdk 文件夹,然后导航到
jdk1.8.0_45.jdk/Contents/Home/jre
Run Code Online (Sandbox Code Playgroud)
在 Windows 上
jre的位置是在
c:\Program Files\Java\
Run Code Online (Sandbox Code Playgroud)
您可以在 .bat 文件中看到 AnyLogic 在代码行中自动创建的位置,如下所示:
@SET PATH_XJAL="%DISK_XJAL%\Program Files\Java\jre6\bin\java.exe"
Run Code Online (Sandbox Code Playgroud)
获得 jre 后,将此文件夹复制到与独立 java 应用程序相同的位置。然后唯一剩下的就是更改 mac 命令行可执行文件和 windows.bat 文件中的引用位置
在苹果机上
更改自
java -Xdock:name="AnyLogic Model"
Run Code Online (Sandbox Code Playgroud)
到
./jre/bin/java -Xdock:name="AnyLogic Model"
Run Code Online (Sandbox Code Playgroud)
在 Windows 上
更改自
@SET PATH_XJAL="%DISK_XJAL%\Program Files\Java\jre6\bin\java.exe"
Run Code Online (Sandbox Code Playgroud)
到
@SET PATH_XJAL= \jre6\bin\java.exe"
Run Code Online (Sandbox Code Playgroud)
现在,在 Mac 和 Windows 上运行 java 应用程序将独立于计算机上的 Java 版本或是否安装
| 归档时间: |
|
| 查看次数: |
561 次 |
| 最近记录: |