2014-06-19 63 views
0

我正在使用javafx庫中的一些類(這些是可觀察集合)。我不能將jfxrt.jar包含到我的發行版中,因爲它依賴於Java版本,我不知道我的程序將運行在哪個Java上。如何從命令行引用javafx?

如何完成?

UPDATE

我把jfxrt.jarlib子目錄PROGRAMM目錄和下面的命令不起作用

java -classpath ./lib/jfxrt.jar -jar MyProgram.jar 

爲什麼?

更新2

這也不起作用

java -cp MyProgram.jar;./lib/* MyClass 
+0

其實**可以**包括jfxrt.jar。它可以在大多數機器上運行(特別是如果你只是使用前面提到的幾個類)。另外,你可以隨時去本地包裝。 – Mansueli

+0

JRE發行版內有多個罐子。它們如何在沒有引用的情況下使用,例如:alt-rt.jar charsets.jar deploy.jar javaws.jar jce.jar jfr.jar jfxrt.jar jsse.jar management-agent.jar plugin.jar resources.jar rt.jar – Dims

+0

我將java 8中的jfxrt包含到了一個帶有java 7的windows xp中,它運行得很好。再次,如果你害怕**使用本地包裝**。 – Mansueli

回答

0

在您的罐子META-INF文件夾中創建一個MANIFEST.MF文件與此內容:

Manifest-Version: 1.0 
Class-Path: . /lib/jfxrt.jar 
Main-Class: package.MyClass 

或者把這個.classpath罐子的根部:

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="lib" path="/lib/jfxrt.jar"/> 
</classpath> 

然後嘗試再次啓動它