我必须创建一个自动化Outlook和Word的应用程序,并且我想使用Java来完成这个任务。(唯一允许的选择是VB6,所以.)
经过Google的快速调查,我找到了几个库,但我不确定该使用哪个库:
我不知道如何比较这些图书馆并作出明智的决定。看起来COM4J有点过时了,雅各布泄露了内存(据称),而jacoZoom则是商业化的。每个方法似乎都需要大量的样板代码来执行简单的方法调用。(考虑到COM的设计,这可能是不可避免的)
此外,我不知道如何在其中一个选择。哪一个是最好的?
发布于 2010-08-24 09:35:32
我们在生产环境中使用Jacob,效果很好。然而,这些项目似乎并不十分积极。
说到这一点:活动似乎是J的一个优势。我们也尝试过这个项目,而且它似乎与更好的日志记录消息的效果相当好。我想我们可以为新项目选择J-Interop。
COM4J似乎过时了,你说得对。
发布于 2015-08-12 16:05:59
作为一名熟悉Java/Linux但对Windows一无所知的开发人员,我的经验(2015年8月).
执行摘要:
更长的故事:
一开始,涉及JNI的代码会莫名其妙地崩溃,这让我寻找一种非JNI解决方案。互调似乎符合这一要求。
然而,当我试图使j-interop工作时,所有的Windows权限和注册表垃圾都使它成为一个完全的PITA。这是不同版本的Windows,所需的更改必须作为管理员,等等。我不明白任何Windows垃圾,它让我想吐无论如何。
然后我试了一下com4j,它像个冠军一样工作。这个项目设计得很好。它会自动从您使用的DLL中生成Java接口。COM调用约定细节是使用接口方法上的Java注释来声明的,允许您在必要时调整这些细节(在我的例子中不需要调整)。
github上有几个开发人员已经分叉了这个项目并提供了修复,这是一个健康的迹象。
唯一要注意的是,您可能需要一些最近的修补程序,这些修补程序在2015年8月被合并到项目中,但不包含在最新版本(2014年3月)中。
因此,您可能需要自己进行自定义构建,包括在Visual中构建DLL,等等。即使作为一个讨厌Windows /无知的人,我也能够做到这一点。
发布于 2012-07-26 15:35:19
COM4J似乎仍然是活跃的--它已经被移到Github,并有了一个新的主页:http://com4j.kohsuke.org/tutorial.html。
https://stackoverflow.com/questions/3547587
复制相似问题