我需要從一些C++代碼裏面執行一個jar文件。 jar文件從文本文件讀入一些數據,然後將一些信息寫入不同的文本文件。有沒有辦法在C++代碼中調用.jar文件?
我想
(void)system("filename.jar");
將做到這一點,但它似乎沒有。
我需要從一些C++代碼裏面執行一個jar文件。 jar文件從文本文件讀入一些數據,然後將一些信息寫入不同的文本文件。有沒有辦法在C++代碼中調用.jar文件?
我想
(void)system("filename.jar");
將做到這一點,但它似乎沒有。
,你應該調用Java適當的命令行 Java的罐子 「filename.jar」
更好的方法是,如果您需要C++和java之間的真正集成,則使用java本地接口(jni),但爲此您必須能夠修改jar文件中的源代碼。
請注意,JNI在兩個不同的方向工作 - 您可以從Java調用本地代碼(這當然需要Java代碼來進行這些本地調用,所以如果它尚未這樣做,那麼它將需要修改) 。或者您可以使用本地代碼創建和管理JVM,我相信它也屬於「JNI」的旗幟。這不需要Java代碼中的任何特殊內容,並且可能是在這裏使用的所有內容。可以說'java'可執行文件本身就是一個方便的命令行版本。 – 2012-01-13 13:11:17
你需要如果你想簡單地調用罐子來調用Java虛擬機/ interperter
system("java filename.jar");
而且您還必須使用'-jar'選項。 – 2011-03-11 07:15:32
谷歌'開始Java程序',採取第二擊。 – 2011-03-11 07:11:04
@Hans Passant:這個問題出現在Google之前還是之後? – MSalters 2011-03-11 08:39:57
@HansPassant在未來,你會友善地鏈接到你引用的頁面嗎? Google搜索結果對於每個用戶都不相同,並且隨着時間推移而變化。 – StockB 2013-01-07 17:19:26