Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了groovy – 如何获取依赖项并使其与IntelliJ项目一起使用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在IntelliJ 12中启动一个GroovyFX项目.
但是,我无法让IntelliJ编译并运行以下简单脚本(以最简单的方式重现问题):

@Grab(group='org.codehaus.groovyfx',module='groovyfx',version='0.3.1')
import groovyx.javafx.GroovyFX
println GroovyFX.class.name

我使用IntelliJ对Grape’s Grab的支持添加groovyfx作为我的模块的依赖项(jar显示在“外部库”下,编辑器不会抱怨之后缺少类!)但是,当我运行脚本时,它会抛出一个错误

我能够在GroovyConsole中使用这个脚本没有太多问题,并且符合预期……

我尝试抓住另一个随机选择的依赖项(原来是一个Spring库),它直接工作:

@Grab(group='org.springframework',module='spring',version='2.5.6')
import org.springframework.jdbc.core.JdbcTemplate
println JdbcTemplate.class.name

我看不出Spring库应该工作的原因,但不是GroovyFX库!

我甚至仔细检查了GroovyFx库是否已经实际下载了,它应该在哪里(在{user.homE} / .groovy / grapes / {group} / {modulE} / jars /下)

是什么导致这种奇怪而极其令人沮丧的问题?

解决方法

我用groovyConsole(从 groovy-sdk-2.1.0开始)和IntelliJ IDEA 12.0.3测试了你的问题.我得到的唯一例外是:

Caught: java.lang.NoClassDefFoundError: javafx/application/Application
java.lang.NoClassDefFoundError: javafx/application/Application
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.ClassnotFoundException: javafx.application.Application
    ... 1 more

是因为JavaFX运行时(jfxrt.jar)不在类路径中.这可以修复

@H_290_8@mvn com.zenjava:javafx-maven-plugin:1.3:fix-classpath

上面的命令取自JavaFX Maven Plugin Wiki.您只需要执行一次.在那次改变之后,groovyConsole和IntelliJ都正常工作.我不得不重新启动groovyConsole,这对IntelliJ来说不是必需的.

有趣的是,我没有在“外部库”下看到GroovyFx-jar.我使用简单的IDEA社区版,没有任何插件.

来自GroovyFX主页的Hello World在IDEA中开箱即用,但在groovyConsole中没有 – 我还得到了“java.lang.ClassnotFoundException:groovyx.javafx.GroovyFX”.我设法让它运行以下代码,但它不是一个好的解决方案,因为它只在第一次运行时工作,然后你必须重新启动groovyConsole:

@GrabConfig(systemClassLoader=true,initContextClassLoader=truE)
@Grab(group='org.codehaus.groovyfx',version='0.3.1')
import static groovyx.javafx.GroovyFX.start

start {
    stage(title: 'GroovyFX Hello World',visible: truE) {
        scene(fill: BLACK,width: 500,height: 250) {
            hBox(padding: 60) {
                text(text: 'Groovy',font: '80pt sanserif') {
                    fill linearGradient(endX: 0,stops: [PALEGREEN,SEAGREEN])
                }
                text(text: 'FX',stops: [CYAN,DODGERBLUE])
                    effect dropShadow(color: DODGERBLUE,radius: 25,spread: 0.25)
                }
            }
        }
    }
}

我不确定,但我认为原因是这个错误here.应该在Groovy 2.2中修复,我们会看到.

大佬总结

以上是大佬教程为你收集整理的groovy – 如何获取依赖项并使其与IntelliJ项目一起使用?全部内容,希望文章能够帮你解决groovy – 如何获取依赖项并使其与IntelliJ项目一起使用?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。