是否可以從Java調用COM API(特別是HP/Mercury Quality Center OTA API)?如果是這樣,最好的方法是什麼?是否可以從Java調用COM API?
是否像JACOB合適?
代碼片段將用於基礎知識有所幫助:-)
是否可以從Java調用COM API(特別是HP/Mercury Quality Center OTA API)?如果是這樣,最好的方法是什麼?是否可以從Java調用COM API?
是否像JACOB合適?
代碼片段將用於基礎知識有所幫助:-)
雅各布:是的,http://sourceforge.net/projects/jacob-project/是一個活躍的項目,將適合你的目的非常好。
你可以看到多個例子:http://jacob-project.wiki.sourceforge.net/Event+Callbacks
,但如果你想要的東西,更多的是測試並願意支付的錢,然後去http://www.nevaobject.com/_docs/_java2com/java2com.htm。
我還發現這是有用的:com4j
J-互操作是一個Java-COM橋:j-Interop。它是用純Java編寫的,並在LGPL v3下獲得許可。它使用DCOM有線協議來調用COM對象,而不是JACOB使用的JNI方法。
也許你應該看看http://qctools4j.sourceforge.net/ 它的使用qclylyn(http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page)從QC檢索缺陷的java庫。
不幸的是,因爲它加載的DLL僑光
可以使用J-的Integra COM2JAVA工具COM橋不爲Linux工作。 com2java工具生成對應於COM類型庫中包含的類和接口的Java「代理」類和接口。它有效地生成一個Java API,您可以使用它來從Java訪問COM組件。
經過以上比較,沒有一個是完全滿意的。
最完整的解決方案是在 https://github.com/java-native-access/jna
現在。
支持,
例如
MsWordApp comObj = this.factory.createObject(MsWordApp.class);
Documents documents = comObj.getDocuments();
_Document myDocument = documents.Add();
String path = new File(".").getAbsolutePath();
myDocument.SaveAs(path + "\\abcdefg", WdSaveFormat.wdFormatPDF);
comObj.Quit();