2011-03-11 91 views
1

我需要从一些C++代码里面执行一个jar文件。 jar文件从文本文件读入一些数据,然后将一些信息写入不同的文本文件。有没有办法在C++代码中调用.jar文件?

我想

(void)system("filename.jar"); 

将做到这一点,但它似乎没有。

+1

谷歌'开始Java程序',采取第二击。 – 2011-03-11 07:11:04

+1

@Hans Passant:这个问题出现在Google之前还是之后? – MSalters 2011-03-11 08:39:57

+0

@HansPassant在未来,你会友善地链接到你引用的页面吗? Google搜索结果对于每个用户都不相同,并且随着时间推移而变化。 – StockB 2013-01-07 17:19:26

回答

3

,你应该调用Java适当的命令行 Java的罐子 “filename.jar”

更好的方法是,如果您需要C++和java之间的真正集成,则使用java本地接口(jni),但为此您必须能够修改jar文件中的源代码。

+0

请注意,JNI在两个不同的方向工作 - 您可以从Java调用本地代码(这当然需要Java代码来进行这些本地调用,所以如果它尚未这样做,那么它将需要修改) 。或者您可以使用本地代码创建和管理JVM,我相信它也属于“JNI”的旗帜。这不需要Java代码中的任何特殊内容,并且可能是在这里使用的所有内容。可以说'java'可执行文件本身就是一个方便的命令行版本。 – 2012-01-13 13:11:17

2

你需要如果你想简单地调用罐子来调用Java虚拟机/ interperter

system("java filename.jar"); 
+2

而且您还必须使用'-jar'选项。 – 2011-03-11 07:15:32

相关问题