1

我在命令行中添加多个包时遇到问题。

javafxpackager -createjar -outfile outjar -srcdir /dest/to/src -classPath 
libs/library1.jar:libs/library2.jar -appClass pathto.MainClass -v

我尝试过使用空格和多个-classPath标志,显然我也尝试过冒号。我在 Ubuntu 中工作,并且该程序在 Eclipse 中运行良好,但是当我打包它时,它一直有效,直到我尝试做一些需要外部库的事情。如果我只使用一个,我可以很好地完成该功能,但需要多个才能充分发挥作用。

如果有人能对此有所了解,我将不胜感激。

4

1 回答 1

0

代替:

-classPath libs/library1.jar:libs/library2.jar 

采用:

-classpath "libs/library1.jar;libs/library2.jar"

无论是解析JavaFX-ClassPath打包程序在清单中创建的内容,都不希望您必须:分离库。当您;-classpath参数中使用 a 而不是时,生成的JavaFX-ClassPath将使用空格来分隔库,然后运行时将能够使用这两个库。

这是我在 OS X 上使用 JavaFX 打包器生成的示例清单(对我有用)。

$ jar xf HelloWorld.jar
$ cat META-INF/MANIFEST.MF 
Manifest-Version: 1.0
JavaFX-Application-Class: HelloWorld
JavaFX-Class-Path: lib/phrases.jar lib/friend.jar
JavaFX-Version: 2.2
Created-By: JavaFX Packager
Main-Class: com/javafx/main/Main

包含清单的 Jar 是使用 OS X 10.8 Java 1.8.0-ea-b113 上的命令生成的:

/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/javafxpackager -createjar -classpath "lib/phrases.jar;lib/friend.jar" -srcdir . -outfile HelloWorld -appclass HelloWorld
于 2013-11-09T09:47:45.257 回答