[英]Executing Groovy script from Maven
從Maven執行Groovy腳本時,出現以下錯誤:
[錯誤]無法在項目/ path / to / project上執行目標org.codehaus.groovy.maven:gmaven-plugin:1.0:execute(默認):org.codehaus.groovy.runtime.metaclass.MissingPropertyExceptionNoStack:無此類屬性:類的項目:/ path / to / groovy / script / Example-> [幫助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>
只要您能夠訪問默認變量(而不是使其成為POGO),就可以將腳本直接添加到Example.groovy
文件中。
腳本最終以與文件名相同的名稱本身單獨編譯為groovy類(在本例中為Example
)。 我對類和psvm的整個概念表示懷疑。 :-)
//Example.groovy
println 'hello world'
println "$project"
println "$session"
println "$settings"
無論出於何種原因,gmaven-plugin似乎都不像main
如果你像這樣編碼
class Example {
def show() {
println 'Hello World'
}
}
new Example().show();
它會工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.