当我安装Groovy 2.3时,我感到很失望 . 我发现我无法将它与Netbeans 8一起使用 . 为什么?因为Netbeans Groovy支持是在内置的Groovy 2.1上修复的 . 这与Netbeans支持Ruby,JRuby,Java的方式形成鲜明对比......您可以在其中添加不同的平台 .
- [ update 2016-10-14] -
我为Netbeans 8.2做了这个练习 . 至少可以说结果很混乱 . 我认为Netbeans可以通过使用像 Java platform 选项这样的工具菜单项来管理不同的Groovy平台 . 或者使用GROOVY_HOME
在这台PC上安装的Groovy是:
-
Groovy 2.4.7
-
一个groovy Jar - groovy-all-2.4.7.jar
-
Java 8 u102
这很奇怪 . Netbeans Libraries列表中的Groovy库是:
-
Groovy 2.1.7
-
groovy-all
我实际上从库列表中删除了它并将其替换为 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
Ergo标签:“2.1.7”已过时 .
值得怀疑的是,当我从Netbeans运行我的Groovy时,groovy 2.1.3 来自哪里?
- [结束更新] -
我从早期的Netbeans版本中扫描了其他涉及此问题的Stackoverflow问题 . 我收集到的共识是,你可以按照捆绑的Groovy版本的方式进行"hack",它应该可行 . Groovy版本不仅仅是一个JAR文件,因此对我来说似乎不够 . 因此,交换更新版本的Groovy应该有更多的事情要做 . 此外,此过程意味着不能使用Netbeans的两个不同的Groovy配置文件 .
不能说Netbeans不能支持多个版本的Groovy,就像它支持Ruby和Java一样 - IntelliJ IDEA和Eclipse一样 .
我希望有人提出完全交换以使用Groovy 2.3替换Groovy 2.1的建议 .
或者,有没有人看过类似于Ruby平台和Java平台的语言支持的“语言支持”插件,或者更通用的方式来运行脚本作为外部工具,Gradle或通过Maven?我绝对认为支持脚本语言只是依赖捆绑的单一版本是一种有限的方式 . 这意味着项目将因“IDE”缺乏灵活性而陷入“旧”语言错误和其他问题 .
1 回答
要在我的项目中使用Groovy 2.4.3,我按照Groovy选项卡中的工具>选项>杂项中的说明进行操作:
从groovy-lang.org下载Groovy 2.4.3二进制发行版
在工具>库中创建新的 Groovy 2.4.3 类库
将库的Classpath jar设置为
groovy-2.4.3/embeddable/groovy-all-2.4.3.jar