从Maven调用groovy'main'方法

时间:2014-05-19 19:07:35

标签: java maven groovy gmaven-plugin maven-mojo

我想在maven的'package'阶段的groovy类中调用'main'方法。

我尝试了gmaven插件

<plugin>
        <groupId>org.codehaus.groovy.maven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>execute</goal>
                </goals>
               <configuration>
          <source>src/main/groovy/CreateDeps.groovy</source>
        </configuration>
            </execution>
        </executions>

    </plugin>

但是我得到了'MissingPropertyException'

[ERROR] Failed to execute goal org.codehaus.groovy.maven:gmaven-plugin:1.0:execute 

(default) on project Versions: groovy.lang.MissingPropertyException: 

No such property: groovy for class: CreateDeps -> [Help 1]

Groovy文件看起来像

CreateDeps.groovy

class CreateDeps {

    static main(args) {
    println "**************************I'm in groovy";
    }

}

我可以使用mojo调用java main方法。我想用groovy实现相同的结果。

 <plugin>  
     <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.2.1</version>
     <executions>  
      <execution>  
       <phase>package</phase>  
       <goals>  
        <goal>java</goal>  
       </goals>  
       <configuration>  
        <mainClass>CreateDeps</mainClass>  
        <arguments>  
         <argument>arg1</argument>  
          <argument>arg2</argument>  
        </arguments>  
       </configuration>  
      </execution>  
     </executions>  
    </plugin>   
<plugin>

提前致谢

1 个答案:

答案 0 :(得分:0)

gmaven插件的源配置参数需要groovy源代码,而不是类名。如果要执行脚本,请使用sourcepath配置参数以及源的路径,而不是类名。即&lt; sourcepath&gt; src / main / groovy / CreateDeps.groovy&lt; / sourcepath&gt;