我维护使用Jacob或Java-COM Bridge的传统Java应用程序通过MS VBA和MS Word的COM接口进行调用。我一直在寻找来自Sun的com4j,它看起来很有希望。com4j与jacob从Java调用COM方法
对我来说看起来不错的原因是它使用vtable绑定方法而不是IDispatch。假设所有的COM对象都是我们操作当前的vtable接口的,那么使用它们来代替IDispatch似乎更清晰。早在COM和CORBA使用热二元接口技术的日子里,我似乎记得通过vtable的早期绑定比通过IDispatch的后期绑定提供了更好的性能。
有没有人从Jacob转移到com4j?如果是这样,那么陷阱和经验教训是什么?
谢谢。我不想在没有提供细节的情况下进入雅各布记忆漏洞,但我们也看到了它。我想我会用com4j和雅各布做一个示范项目,亲身体验这些差异。 – 2010-01-14 20:41:51
我正在考虑从com4j转到雅各布,因为不幸的是,com4j只能用于32位Java而不是64位Java,所以在未来的水中似乎死了。 – 2011-03-02 09:15:00
由于@PaulTaylor com4j的评论更新已经[更新为64位Java支持](http://kohsuke.org/2012/04/27/com4j-updates/)。 – 2013-03-25 17:04:17