我厌倦了在自包含模式下部署使用R和JRI接口的JavaFx GUI。该应用程序在Net-beans上完美运行,当我禁用使用JRI的代码时,它也可以在独立模式下运行(带有可点击的jar),我想我明白为什么它不起作用,我需要将JVM参数传递给清单文件,问题是我不知道如何。 在网上搜索给了我不清楚的答案(这个有用但不够http://www.rgagnon.com/javadetails/java-0166.html)。
这是清单文件:
Manifest-Version: 1.0
JavaFX-Version: 2.2
implementation-vendor: yschellekens
implementation-title: LineChartWithHoverCoords
implementation-version: 1.0
JavaFX-Application-Class: linechartwithhovercoords.LineChartWithHoverC
oords
JavaFX-Class-Path: lib/JRI.jar lib/JRIEngine.jar lib/REngine.jar lib/a
rpack-combo.jar lib/commons-codec-1.5.jar lib/commons-logging-1.1.jar
lib/csparsej.jar lib/jplasma.jar lib/jtransforms.jar lib/junit-4.11.
jar lib/junit.jar lib/log4j-1.2.13.jar lib/netlib-java.jar lib/optimi
zation.jar lib/parallelcolt-0.9.4.jar lib/poi-3.10-beta2-20130904.jar
lib/poi-examples-3.10-beta2-20130904.jar lib/poi-excelant-3.10-beta2
-20130904.jar lib/poi-ooxml-3.10-beta2-20130904.jar lib/poi-ooxml-3.9
.jar lib/poi-ooxml-schemas-3.10-beta2-20130904.jar lib/poi-scratchpad
-3.10-beta2-20130904.jar
Created-By: JavaFX Packager
Main-Class: com/javafx/main/Main
为了使它在Net-bean上工作,我需要向JVM添加一个参数(我还在ant任务中指定了jvmarg标记),我需要将一些如何传递给manifest文件。
我尝试通过Ant任务添加JVM参数(-Djava.library.path ='C:/Users/yschellekens.INTRANET/Documents/R/win-library/3.0/rJava/jri/x64/')使用“jvmarg”标签,但这不能很好地工作。
感谢任何帮助,谢谢!
答案 0 :(得分:2)
好的,所以我想出来了,我已经添加了一个新的批处理文件,其中包含:
set _JAVA_OPTIONS= -Djava.library.path='C:/Users/yschellekens.INTRANET/Documents/R/win-library/3.0/rJava/jri/x64/'
start javaw -jar "linechartwithhovercoords.jar"
非常感谢: