【问题标题】:attach dependent jar with project jar in linux在linux中附加依赖jar和项目jar
【发布时间】:2013-01-12 21:26:18
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: java linux jar javafx-2 executable-jar


    【解决方案1】:

    您在环境变量中有错字:它应该是 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,正如另一个答案中指出的那样。

    【讨论】:

    • 它导出单个 jar 但不是多个 jar 亲爱的
    • 我更新了答案,现在可以用了吗?我不太明白您所说的“导出单个 jar”是什么意思
    【解决方案2】:

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

    来自文档:

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

    -罐子

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

    【讨论】:

    • 这将成为我从不使用 -jar 的第一大理由(并不是说我用过太多!)
    猜你喜欢
    • 2017-06-09
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    相关资源
    最近更新 更多