问题描述
我们正在从事类似的项目。我们正在做的是用C#编写集成代码,并使用Java编写项目的业务逻辑。
我们正在利用C 桥,该桥利用JNI将Java调用转换为C,然后将其转换回C#,反之亦然。从C#到Java的每个功能都必须在桥代码中实现。这相当复杂,并且使非托管C ++代码与C#一起使用还存在一些问题,以及将Jstring转换为C#String等的标准开销。在进行了一些优化以确保我们不会为每次对Java层的调用中启动和停止JVM之后,结果相对较快。
我们以前使用过AutoCAD插件调用的COM对象,因此这是另一种方法。
解决方法
关于通过JAVA程序与AutoCAD接口的任何想法。我正在寻找一种可以直接与AutoCAD会话(甚至开始一个)交互的解决方案,它可以与AutoCAD的.NET扩展一起工作。或通过JAVA使用ObjectARX的任何方法,绝对不能在其上编写完整的JNI包装器。
补充:我们正在寻找开源的东西。如果没有,我们可以准备在开放源代码中创建一个,如果有人可以伸出援手说明如何做到这一点。我们看了JNA和JaWin。JNA与JNI合作可能会有所帮助,但太丑陋了。另一方面,JaWin在过去4年中尚未更新,因此对此表示怀疑。