2017-06-27 34 views
1

在netBeans 8.2中,我遇到了在build.xml文件中读取groovy的问题。Ant似乎无法在NetBeans 8.2中正确链接到groovy

我有一个项目,我在其中使用内建的Ant 1.9.7通过build.xml运行我的脚本。

在这里面,我的常规任务,我设置如下:

<property environment="env" /> 
<path id="groovy.classpath"> 
    <fileset dir="${env.GROOVY_HOME}/embeddable" /> 
</path> 
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="groovy.classpath" /> 

对于环境变量{} env.GROOVY_HOME,我已经设置了在windows下面的环境变量:

GROOVY_HOME与值C:\ Program Files文件(x86)\ Groovy \ Groovy-2.4.10

然而,我仍然有一个错误“”脚本失败“时,在build.xml文件中的以下阶段与Groovy达成步骤:

<groovy> 
    def corePlatformList = [] 
    [Groovy code here...] 
</groovy> 

我知道脚本工作正常,因为它确实在Eclipse和IntelliJ中运行。

这似乎是蚂蚁不能与Groovy 2.4.10出于某种原因链接。

回答

0

我相信你有一些微不足道的错误。

您需要包含库文件。

变化来自:

<path id="groovy.classpath"> 
    <fileset dir="${env.GROOVY_HOME}/embeddable" /> 
</path> 

要:

<path id="groovy.classpath"> 
    <fileset dir="${env.GROOVY_HOME}/embeddable"> 
     <include name="**/groovy-all-*.jar"/> 
    </fileset> 
</path> 

编辑:基于OP评论

下面是完整的build.xml文件,我可以看到它的工作。

<project name="MyProject" default="runscript" basedir="."> 
    <path id="groovy.classpath"> 
     <fileset dir="d:/softwares/groovy-2.4.5/embeddable"> 
     <include name="**/groovy-all-*.jar"/> 
     </fileset> 
    </path> 
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="groovy.classpath" /> 
    <target name="runscript" 
      description="compile the source"> 
     <groovy> 
     def corePlatformList = [1,2,3,4] 
     println corePlatformList   
    </groovy> 
    </target> 
    </project> 
+0

好主意,但它不能解决问题 –

+0

您是否尝试过调试ant脚本?发生什么事?你是如何测试的? – Rao

+0

@TheHiddenSoul,请检查编辑,我可以看到它的工作。 – Rao