Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以从Java调用COM API吗?_Java_Api_Com_Hp Quality Center - Fatal编程技术网

可以从Java调用COM API吗?

可以从Java调用COM API吗?,java,api,com,hp-quality-center,Java,Api,Com,Hp Quality Center,是否可以从Java调用COM API(特别是HP/Mercury Quality Center OTA API)?如果是,最好的方法是什么 像雅各布这样的东西合适吗 代码片段对基础知识很有帮助:-)雅各布:是的,这是一个非常适合您的目的的活动项目 您可以看到多个示例: 但是如果你想要一些经过更多测试并且愿意付钱的东西,那么就去买吧。j-Interop是一个Java COM桥:。它是用纯Java编写的,并根据LGPLv3获得许可。它使用DCOM wire协议来调用COM对象,而不是JACOB使用的

是否可以从Java调用COM API(特别是HP/Mercury Quality Center OTA API)?如果是,最好的方法是什么

像雅各布这样的东西合适吗

代码片段对基础知识很有帮助:-)

雅各布:是的,这是一个非常适合您的目的的活动项目

您可以看到多个示例:


但是如果你想要一些经过更多测试并且愿意付钱的东西,那么就去买吧。

j-Interop是一个Java COM桥:。它是用纯Java编写的,并根据LGPLv3获得许可。它使用DCOM wire协议来调用COM对象,而不是JACOB使用的JNI方法。

也许您应该看看 这是一个由qclylyn使用的java库(http://sourceforge.net/apps/mediawiki/qcmylyn/index.php?title=Main_Page)从QC处收回缺陷

不幸的是,COM网桥不适用于linux,因为它加载了jacob DLL。您可以使用J-Integra工具。
com2java工具生成与COM类型库中包含的coclass和接口相对应的Java“代理”类和接口。它有效地生成了一个JavaAPI,您可以使用它从Java访问COM组件

在对上述各项进行比较后,没有一项是完全令人满意的

最完整的解决方案是

现在

它支持,

  • 获取运行COM对象的接口
  • 启动新COM对象并返回其接口
  • 调用COM方法并返回结果
  • 可选的单独COM线程处理
  • 卷土重来
  • RunninObjectTable查询
  • 低层COM使用
  • util/高级java代理抽象
例如


我还发现这一点很有用:
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();