是否可以从 Java 调用 COM API(特别是 HP/Mercury Quality Center OTA API)?如果是这样,最好的方法是什么?
像 JACOB 这样的东西合适吗?
代码片段将对基础有所帮助:-)
是否可以从 Java 调用 COM API(特别是 HP/Mercury Quality Center OTA API)?如果是这样,最好的方法是什么?
像 JACOB 这样的东西合适吗?
代码片段将对基础有所帮助:-)
jacob:是的, http: //sourceforge.net/projects/jacob-project/是一个非常适合您的目的的活跃项目。
你可以看到多个例子:http: //jacob-project.wiki.sourceforge.net/Event+Callbacks
但是,如果您想要经过更多测试并且愿意付钱的东西,那就去http://www.nevaobject.com/_docs/_java2com/java2com.htm。
经过以上所有的比较,没有一个是完全令人满意的。
最完整的解决方案在 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();
也许你应该看看http://qctools4j.sourceforge.net/ 它是 qclylyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) 用来检索缺陷的 java 库来自质检。
不幸的是,COM 桥不适用于 linux,因为它加载了 jacob dll
j-Interop 是一个 Java-COM 桥:j-Interop。它是用纯 Java 编写的,并在 LGPL v3 下获得许可。它使用 DCOM 有线协议来调用 COM 对象,而不是 JACOB 使用的 JNI 方法。
您可以使用 J-Integra COM2JAVA工具。com2java 工具生成 Java“代理”类和接口,它们对应于 COM 类型库中包含的 coclasses 和接口。它有效地生成了一个 Java API,您可以使用它从 Java 访问 COM 组件。