2010-12-07 36 views
0

我一直在使用一个工具一段时间,我非常喜欢它,我想把它作为一个eclipse插件。不幸的是,我认为它是用C++编写的。有什么方法可以将这样的代码库用作Eclipse插件的基础,而不用在Java中重写它?在Eclipse插件中可以使用非Java代码吗?

顺便说一句:该工具是封闭的源代码,商业,由其他人维护并需要用作GUI小部件。我主要想知道是否可以让业主谈论这件事。

回答

1

你可以尝试创建Java包装使用SWIG(纯JNI,这是一个重大的PITA虽然或)你的C++代码。

1

通常,将现有的本机应用程序和工具集成到Eclipse中是一项重大工作。如果你想与维护者交流,你必须说服他们为什么移植到Eclipse对他们有好处。

但是,如果有合适的C++ API,你可以自己做很多。你可以使用SWIG来封装API,或者编写一个包装程序可执行文件,这个可执行文件使用一些用于序列化协议的通信程序,例如Google Protobuf。但是,这不会考虑在Eclipse中集成用户界面,所以如果该工具的用户界面很重,这可能对您没有多大帮助。

+0

用户界面的重量会有点轻描淡写:http://www.scootersoftware.com/ – BCS 2010-12-08 15:28:41

1

取决于它是什么工具,你可以考虑一些其他选项。如果它是代码生成或翻译工具,那么您可能只需要一个自定义构建器即可,该构建器可以调用该工具作为构建过程的一部分,其中包含您选择的选项和目标。例如,您可以运行Visual Studio构建作为Eclipse编译的一部分,而不会出现任何问题。

或者如果它是一个图形工具,请检查它是否是一个COM对象,它可以“轻松”包装到Java中,因此也可以包装到Eclipse插件中。

最后,我还想投票给SWIG。这些东西非常好,可以很容易地将C或C++ API封装到Java中,并为您生成大量的JNI代码。

相关问题