Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Maven执行Groovy脚本_Maven_Groovy_Gmaven Plugin - Fatal编程技术网

从Maven执行Groovy脚本

从Maven执行Groovy脚本,maven,groovy,gmaven-plugin,Maven,Groovy,Gmaven Plugin,从Maven执行Groovy脚本时,出现以下错误: [ERROR]无法在project/path/to/project:org.codehaus.groovy.runtime.metaclass.MissingPropertyException上执行目标org.codehaus.groovy.maven:gmaven插件:1.0:execute(默认值):org.codehaus.groovy.runtime.metaclass.MissingPropertyExceptionNoStack:没

从Maven执行Groovy脚本时,出现以下错误:

[ERROR]无法在project/path/to/project:org.codehaus.groovy.runtime.metaclass.MissingPropertyException上执行目标org.codehaus.groovy.maven:gmaven插件:1.0:execute(默认值):org.codehaus.groovy.runtime.metaclass.MissingPropertyExceptionNoStack:没有这样的属性:类的项目:/path/to/groovy/script/Example->[Help 1]

我寻找了可能的和可能的,但仍然不明白我做错了什么,以及如何修复它。我的脚本在独立执行或通过ANT脚本执行时运行良好

以下是脚本:

class Example {
   public static void main(String[] args){
       new Example().show();
   }

   def show() {
       println 'Hello World'
  }
}
我这样称呼它:

<dependencies>
    <dependency>
        <groupId>org.codehaus.gmaven.runtime</groupId>
        <artifactId>gmaven-runtime-1.7</artifactId>
        <version>1.3</version>
        <exclusions>
             <exclusion>
                 <groupId>org.codehaus.groovy</groupId>
                 <artifactId>groovy-all</artifactId>
             </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>1.7.6</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.groovy.maven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>execute</goal>
                    </goals>
                    <configuration>
                        <source>${pom.basedir}/path/to/script/Test.groovy</source>
                    </configuration>
                </execution>
            </executions>
        </plugin>

org.codehaus.gmaven.runtime
gmaven-runtime-1.7
1.3
org.codehaus.groovy
groovy all
org.codehaus.groovy
groovy all
1.7.6
org.codehaus.groovy.maven
gmaven插件
产生资源
执行
${pom.basedir}/path/to/script/Test.groovy

将脚本直接添加到
Example.groovy
文件中,只要您能够访问默认变量,而不是将其设置为POGO

脚本最终将自己编译成与文件名同名的groovy类(在本例中为
Example
)。我对类和psvm的整个概念表示怀疑。:-)


将脚本直接添加到
Example.groovy
文件中,只要您能够访问默认变量,而不是将其设置为POGO

脚本最终将自己编译成与文件名同名的groovy类(在本例中为
Example
)。我对类和psvm的整个概念表示怀疑。:-)


无论出于何种原因,gmaven插件似乎并不喜欢主插件

如果你像这样编码

class Example {
   def show() {
       println 'Hello World'
   }
}
new Example().show();

无论出于何种原因,gmaven插件似乎不喜欢main

如果你像这样编码

class Example {
   def show() {
       println 'Hello World'
   }
}
new Example().show();


它会起作用。

尝试更新到
gmaven插件的1.5版
,这有帮助吗?错误消息显示版本1.0..尝试过,同样的事情。这就是我现在在POM中所做的:。尝试用${basedir}替换${POM.basedir}。尝试过,没有更改。甚至按其绝对路径引用脚本。您是否可以在名为
示例的脚本中仅使用
println'Hello World'
(删除所有类和psvm内容)?尝试更新到
gmaven插件的1.5版
,这有帮助吗?错误消息显示版本1.0..尝试过,同样的事情。这就是我现在在POM中所做的:。尝试用${basedir}替换${POM.basedir}。尝试过,没有更改。甚至可以通过脚本的绝对路径引用脚本。您可以在名为
示例的脚本中仅使用
println'Hello World'
。groovy
(删除所有类和psvm内容)吗?dmahapatro是对的<代码>项目
可通过
绑定
供脚本使用。无法从类访问。谢谢。我把我的课改成了脚本。例如,我的原始类使用groovy.io.FileType,因此我必须添加对groovy all的依赖,使我的POM成为,否则我将在定位g.I.FileType时出错。现在,当我执行Maven时,我得到了另一个错误-。@AlexKravets嗯,这看起来是一个与Maven完全相关的不同问题。您可以从和问题中找到一些有价值的输入。@dmahapatro感谢链接。最后一个问题,当我通过ANT脚本调用运行groovy类时,一切都正常。那么,通过ANT和Maven调用脚本有什么区别呢?dmahapatro是正确的<代码>项目可通过
绑定
供脚本使用。无法从类访问。谢谢。我把我的课改成了脚本。例如,我的原始类使用groovy.io.FileType,因此我必须添加对groovy all的依赖,使我的POM成为,否则我将在定位g.I.FileType时出错。现在,当我执行Maven时,我得到了另一个错误-。@AlexKravets嗯,这看起来是一个与Maven完全相关的不同问题。您可以从和问题中找到一些有价值的输入。@dmahapatro感谢链接。最后一个问题,当我通过ANT脚本调用运行groovy类时,一切都正常。那么,通过ANT和Maven调用脚本有什么区别呢?