将JVM参数传递给清单文件(用于JRI + Javafx部署)

时间:2014-03-26 10:23:17

标签: java deployment ant packaging jri

我厌倦了在自包含模式下部署使用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”标签,但这不能很好地工作。

感谢任何帮助,谢谢!

1 个答案:

答案 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"

非常感谢:

https://stackoverflow.com/users/1481401/paulb - 你太棒了!