我正在尝试使用JavaFX在swing项目的linux上运行一个jar文件。我在linux上安装了JRE7。
我的项目罐使用两个罐子: jfxrt.jar 和 lucene.jar 。我已将jar复制到 / home / projectdir / lib / ,并通过以下命令设置类路径
export CLASS PATH=/home/projectdir/lib/jarfilename.jar
但是在使用以下命令运行我的项目jar时仍然出现错误:
java -jar projectjar.jar
答案 0 :(得分: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,正如另一个答案所指出的那样。
答案 1 :(得分:1)
AFAIK,使用-jar选项时会忽略类路径设置。使用-cp选项并在命令行上指定主类。
来自文档:
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html#jar
-jar
执行封装在JAR文件中的程序。第一个参数是JAR文件的名称而不是启动类名称。为了 要使此选项生效,JAR文件的清单必须包含 Main-Class形式的行:classname。这里,classname标识了 类具有public static void main(String [] args)方法 作为您的应用程序的起点。请参阅Jar工具 参考页面和Java Tutorial的Jar跟踪信息 关于使用Jar文件和Jar文件清单。当你使用 此选项,JAR文件是所有用户类的源,以及其他 用户类路径设置将被忽略。