如何在单个Netbeans项目中混合基于JVM的语言?

Bri*_*uch 8 java netbeans scala clojure

例如,是否可以让Scala,Java和Clojure源在同一个项目中正确编译/构建?或者,我是否必须将它们作为单独的项目库来执行,然后我选择作为"主"项目使用它们?

如果不是这些,那么其他人怎么做呢?

Jör*_*tag 6

不幸的是,虽然Java 社区似乎对多语言编程非常热衷,但IDE供应商并没有真正跟上.他们一般有针对Java,Scala中,Clojure中,Groovy中,红宝石,ECMAScript中,Python和C++项目插件,但混合使用多种语言一个项目一般不支持.

例如,在Ruby中,通过JRuby将Swing用作GUI是很常见的.但是如果要使用Matisse,NetBeans Swing GUI构建器必须使用Java项目,则不能在Ruby项目中使用Matisse.但是,如果您使用Java项目,那么您不能拥有Ruby主可执行文件,您必须拥有Java主可执行文件.此外,您不会获得Rake支持以及Ruby项目类型支持的其他内容.(丑陋的解决方法是编写一个Java主要可执行文件,JRubyEngine手动创建一个实例,将Ruby主要可执行文件加载到其中并运行它.)

Eclipse Scala插件支持有限的多种语言,但是他们必须跳过的箍是巨大的.基本上,他们使用运行时字节码修补将Scala Aspects注入Java Development Tools Eclipse插件,以使类型驱动的跨语言重构工作.与AspectJ一样,Groovy插件做了类似的事情(事实上,他们最初提出了使用方面编织为JDT注入新功能的想法).因此,所有这些插件都允许使用自己和Java进行多语言编程.但不幸的是没有彼此.(尽管一些维护者表示有兴趣进行更密切的合作.)

总的来说,我担心唯一的解决方案是新的IDE.