2014-06-19 29 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> 

然后尝试再次启动它