2

我正在尝试使用 JavaFX 在 swing 项目的 linux 上运行 jar 文件。我已经在 linux 上安装了 JRE7。

我的项目 jar 使用了两个 jar:jfxrt.jarlucene.jar。我已将 jar 复制到/home/projectdir/lib/并通过以下命令设置类路径

 export CLASS PATH=/home/projectdir/lib/jarfilename.jar

但是在以下命令的帮助下运行我的项目 jar 时仍然出现错误:

 java -jar projectjar.jar
4

2 回答 2

4

你在环境变量中有一个错字:它应该是 CLASSPATH (中间没有空格)。你还需要把两个罐子都放进去:

export CLASSPATH=/home/projectdir/lib/jfxrt.jar:/home/projectdir/lib/lucene.jar:projectjar.jar

或更好地使用相对路径:

export CLASSPATH=lib/jfxrt.jar:lib/lucene.jar:projectjar.jar

但是您必须使用主类名,而不是-jar,正如另一个答案中所指出的那样。

于 2013-01-29T10:31:27.967 回答
1

AFAIK,使用 -jar 选项时会忽略类路径设置。使用 -cp 选项并在命令行上指定主类。

从文档中:

http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html#jar

-罐

执行封装在 JAR 文件中的程序。第一个参数是 JAR 文件的名称,而不是启动类名称。为了使此选项起作用,JAR 文件的清单必须包含格式为 Main-Class: classname 的行。在这里,classname 标识具有用作应用程序起点的 public static void main(String[] args) 方法的类。有关使用 Jar 文件和 Jar 文件清单的信息,请参阅 Jar 工具参考页面和 Java 教程的 Jar 跟踪。使用此选项时,JAR 文件是所有用户类的来源,其他用户类路径设置将被忽略。

于 2013-01-29T10:49:21.627 回答