如何使用C ++打开Java程序

时间:2014-10-02 11:28:42

标签: java c++

我正在尝试创建一个Java程序,但我想让它由C ++打开。

我一直在使用C ++

system("java -jar MMQ4.jar");

但是它要求用户将C:\ Program Files \ Java \ jre7 \ bin \添加到他们的PATH环境变量

那么,他们是使用C ++运行Java程序的另一种方式吗?

3 个答案:

答案 0 :(得分:1)

运行java文件不需要用户向环境变量添加内容,这简直是错误的,因为Java安装程序已经自动执行了此操作。

如果您无法在不向环境添加内容的情况下运行java-binary,那么您的JRE就会出错,需要重新安装。请不要相信你在互联网论坛上看到的一切,这个陈述是一个非常古老的神话,大约5年前JDK版本的确如此,但在此之后的每一个......不是那么多

答案 1 :(得分:0)

一个解决方案,在我看来并不好:

system("export LD_LIBRARY_PATH=\"<java_path>\" && java -jar MMQ4.jar");

此解决方案适用于unix s.o。

对于Windows,请查看here

更新

顺便说一句,如果我明白你的意图是什么,你应该使用:

fork
exec
wait

而不是系统。

const int pid = fork();
execv("java", "-jar MMQ4.jar"");

通过这种方式,您可以参考PID的过程并在需要时将其终止。

答案 2 :(得分:0)

您是否尝试将-classpath选项用于Java解释器。自从我使用Java以来​​已经有一段时间了,但在过去,这本来有用。