当我安装 Groovy 2.3 时,我很失望,我发现我无法将它与 Netbeans 8 一起使用。为什么?因为 Netbeans Groovy 支持固定在内置 Groovy 2.1 上。这与 Netbeans 支持 Ruby、JRuby、Java 的方式形成鲜明对比,您可以在其中添加不同的平台。
--[ update2016-10-14]--
我针对 Netbeans 8.2 进行了此练习。至少可以说,结果令人困惑。我认为 Netbeans 会受益于拥有一个工具菜单项,例如Java平台管理不同 Groovy 平台的选项。或者使用 GROOVY_HOME
在这台 PC 上安装的 Groovy 是:
- Groovy 2.4.7
- 一个 groovy Jar - groovy-all-2.4.7.jar
- Java 8 u102
这很奇怪。 Netbeans 库列表中的 Groovy 库是:
我实际上从库列表中删除了它,并将其替换为groovy-all 2.4.7.
我将这一行添加到 Groovy 主类中......
println "Groovy version: "+ GroovySystem.version;
println "Java version: "+ System.getProperty("java.version");
输出:
Groovy version: 2.1.3
Java version: 1.8.0_102
我一直在进一步寻找。这Netbeans log
显示加载的 Groovy 模块是:
"Groovy 2.1.7"
jar:nbinst://org.netbeans.modules.libs.groovy/modules/ext/groovy-all.jar!/
我检查了该文件,该 JAR 文件报告了其版本:
java -jar /opt/dev/netbeans/home/groovy/modules/ext/groovy-all.jar -version
Groovy Version: 2.4.5 JVM: 1.8.0_102 Vendor: Oracle Corporation OS: Linux
因此标签:“2.1.7”已经过时了。
令人好奇的是WHERE是不是很时髦2.1.3来自当我从 Netbeans 运行 Groovy 时?
--[ 结束更新 ]--
我扫描了早期 Netbeans 版本中涉及此问题的其他 Stackoverflow 问题。我达成的共识是,您可以“破解”捆绑的 Groovy 版本的安装方式,并且它应该可以工作。 Groovy 版本不仅仅是一个 JAR 文件,因此看起来不像enough大部头书。因此,需要做更多的事情来换入新版本的 Groovy。此外,此过程意味着不能将两个不同的 Groovy 配置文件与 Netbeans 一起使用。
- 如何在 netbeans 中使用 Groovy 2.0 https://stackoverflow.com/questions/11626666/how-to-use-groovy-2-0-in-netbeans
- NetBeans IDE 中的 Groovy 支持 https://stackoverflow.com/questions/5290392/groovy-support-in-netbeans-ide
- NetBeans 中的 Groovy 支持 https://stackoverflow.com/questions/19560877/groovy-support-in-netbeans
不能说 Netbeans 不能像支持 Ruby 和 Java 那样支持多个版本的 Groovy —— IntelliJ IDEA 和 Eclipse 一样。
我希望有人提出完整换入的建议,用 Groovy 2.3 替换 Groovy 2.1。
或者,是否有人见过类似于 Ruby 平台和 Java 平台的语言支持“语言支持”插件,或者作为外部工具(Gradle 或通过 Maven)运行脚本的更通用方法?我绝对认为仅依赖捆绑的单一版本来支持脚本语言是一种有限的方式。这意味着项目将因为 IDE 缺乏灵活性而陷入“旧”语言错误和其他问题。