如何从命令行调用嵌入式jre以运行java应用程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何从命令行调用嵌入式jre以运行java应用程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2233字,纯文字阅读大概需要4分钟。
内容图文
![如何从命令行调用嵌入式jre以运行java应用程序](/upload/InfoBanner/zyjiaocheng/781/325b9f36837047778ee532696b57c20d.jpg)
是否可以在导出的独立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没有设置为显示隐藏的文件夹,请转到查找程序使用命令shift-g并转到
/Library/Java/JavaVirtualMachines/
应该有一个jdk文件夹,然后导航到
jdk1.8.0_45.jdk/Contents/Home/jre
在Windows上
jre的位置在
c:\Program Files\Java
您可以在.bat文件中看到AnyLogic根据以下代码自动创建的位置:
@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版本或是否已安装
内容总结
以上是互联网集市为您收集整理的如何从命令行调用嵌入式jre以运行java应用程序全部内容,希望文章能够帮你解决如何从命令行调用嵌入式jre以运行java应用程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。