我正在尝试从 C++ 代码创建 JVM 7 并努力设置正确的类路径。我想使用通配符指定类路径:例如/path/to/*(将文件夹中的所有jar都包含到类路径中)
如果我通过
设置类路径options[0].optionString = "-Djava.class.path=/path/to/*;";
然后找不到我的类(class)。我尝试了反斜杠(我使用的是 Windows 8),无论有没有分号,都没有任何帮助。这实际上也不适用于命令行。
然后我尝试提供一个“-cp”选项,但在这种情况下无法创建 JVM。我试过:
options[0].optionString = "-cp=/path/to/*";
options[0].optionString = "-cp /path/to/*";
options[0].optionString = "-classpath=/path/to/*";
options[0].optionString = "-classpath /path/to/*";
options[0].optionString = "-cp";
options[0].extraInfo = "/path/to/*";
options[0].optionString = "-cp";
options[1].optionString = "/path/to/*";
这些都没有帮助。
在从 C++ 创建 JVM 时,您知道如何提供带通配符的类路径吗?
提前致谢
最佳答案
您需要自己执行扩展,因为这是 Java 启动器的一项功能,而不是 JNI API 的一项功能。查看SetClassPath启动程序源中的函数,它调用内部 JLI_WildcardExpandClasspath 函数,然后添加一个 -Djava.class.path 选项。
关于java - 从 C++ 代码运行 JVM 并设置类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29188564/