在JNI中添加jar库的问题

时间:2011-03-07 08:01:16

标签: java c++ c java-native-interface

如何在jni c ++中添加包含jar文件的文件夹。例如,我有一个文件夹“MyLib”,其中包含“Math.jar”,“Stats.jar”和“Temp.jar”。我想在添加所有jar文件(如

)的类路径中添加“MyLib”

options [0] .optionString =“ - Djava.class.path = c:\ myjni \ MyLib”;

而不是

options [0] .optionString =“ - Djava.class.path = c:\ myjni \ MyLib \ Math.jar; c:\ myjni \ MyLib \ Stats.jar; \ c:\ myjni \ MyLib \ Temp.jar“;

1 个答案:

答案 0 :(得分:0)

嗯,你不能这样做。您只能将带有类文件的JAR文件或目录添加到类路径中。

您可以将所有jar解压缩到一个目录,并将此目录添加到类路径中。

实际上有一个技巧。 Sun提供的6.0版本的Java增加了扩展globs的可能性。这应该适用于Java 6 +:

java -cp lib/*.jar

所以你可以试试这个:

options[0].optionString = "-Djava.class.path=c:\myjni\MyLib\*.jar";

我不确定它是否适用于-D类路径设置。如果可以提供classpath cia -cp选项那么做。请注意JVM中的扩展有一些限制:

http://javahowto.blogspot.com/2006/07/jdk-6-supports-in-classpath-but-be.html