【发布时间】:2010-09-13 08:59:11
【问题描述】:
是否可以从 Java 调用 COM API(特别是 HP/Mercury Quality Center OTA API)?如果是这样,最好的方法是什么?
像 JACOB 这样的东西合适吗?
代码片段将有助于基础知识:-)
【问题讨论】:
-
我也发现这很有用:com4j
标签: java api com hp-quality-center
是否可以从 Java 调用 COM API(特别是 HP/Mercury Quality Center OTA API)?如果是这样,最好的方法是什么?
像 JACOB 这样的东西合适吗?
代码片段将有助于基础知识:-)
【问题讨论】:
标签: java api com hp-quality-center
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/ 它是 qclyn (http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page) 用于从 QC 中检索缺陷的 java 库。
不幸的是,COM 桥在加载 jacob dll 时不适用于 linux
【讨论】:
j-Interop 是一个 Java-COM 桥:j-Interop。它是用纯 Java 编写的,并在 LGPL v3 下获得许可。它使用 DCOM 有线协议来调用 COM 对象,而不是 JACOB 使用的 JNI 方法。
【讨论】:
您可以使用 J-Integra COM2JAVA 工具。 com2java 工具生成 Java“代理”类和接口,它们对应于 COM 类型库中包含的 coclasses 和接口。它有效地生成了一个 Java API,您可以使用它来从 Java 访问 COM 组件。
【讨论】: