可以从Java调用COM API吗?
是否可以从Java调用COM API(特别是HP/Mercury Quality Center OTA 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使用的
但是如果你想要一些经过更多测试并且愿意付钱的东西,那么就去买吧。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();