【问题标题】:Call groovy 'main' method from Maven从 Maven 调用 groovy 'main' 方法
【发布时间】:2014-05-20 22:53:06
【问题描述】:

我想在 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>

提前致谢

【问题讨论】:

  • 你试过显式声明main方法返回void吗?
  • @Dónal,这不是问题所在。这是正确的声明。
  • @user3230140 您能否提供一个最小的工作示例(例如在 GitHub 上)以便有机会使用它?

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


【解决方案1】:

gmaven 插件的源配置参数需要 groovy 源代码,而不是类名。如果要执行脚本,请将 sourcepath 配置参数与源路径一起使用,而不是类名。即 src/main/groovy/CreateDeps.groovy

【讨论】:

  • 但我试过了,但我得到了:[错误] 无法执行目标 org.codehaus.groovy.maven:gmaven-plugin:1.0:execute (default) on project Versions: The parameters 'source'对于目标 org.codehaus.groovy.maven:gmaven-plugin:1.0:execute 丢失或无效 -> [帮助 1]
  • 我同时使用了 source 和 sourcepath ,现在它可以工作了。谢谢
猜你喜欢
  • 2015-01-28
  • 2015-10-18
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 2017-02-13
  • 2014-04-29
  • 1970-01-01
相关资源
最近更新 更多