首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Groovy中使用ScriptVariables与PostBuildHookScript结合使用Maven-Invoker插件

如何在Groovy中使用ScriptVariables与PostBuildHookScript结合使用Maven-Invoker插件
EN

Stack Overflow用户
提问于 2017-02-04 00:15:17
回答 2查看 589关注 0票数 0

我正在使用Maven-Inovker-Plugin运行集成测试。我有一个名为verify.groovy的构建后钩子脚本来验证集成测试的结果。在groovy脚本中,我需要访问原始POM中的一些属性。我该怎么做?

到目前为止,我已经将其放在maven-invoker-plugin的配置块中:

代码语言:javascript
复制
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-invoker-plugin</artifactId>
                <version>1.7</version>
                <configuration>
                    <debug>true</debug>
                    <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
                    <projectsDirectory>src/test/resources/invoker-tests</projectsDirectory>
                    <pomIncludes>
                        <pomInclude>*/pom.xml</pomInclude>
                    </pomIncludes>
                    <postBuildHookScript>verify</postBuildHookScript>
                    <scriptVariables>
                        <param>${skip.var1}</param>
                        <param>${skip.var2}</param>
                    </scriptVariables>
                    <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
                    <goals>
                        <goal>clean</goal>
                        <goal>package</goal>
                    </goals>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

我在scriptVariables中放置了这里文档中的值。我很确定我做错了,正确的方法是什么?

然后如何访问groovy脚本中的变量skip.var1skip.var2?我找不到这方面的任何文件或例子。到目前为止,我已经尝试了以下几种方法,但都不起作用。

代码语言:javascript
复制
def var1 = skip.var1

但我错了:

代码语言:javascript
复制
groovy.lang.MissingPropertyException: No such property: skip for class: Script1

如何正确访问变量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-04 01:02:07

必须将版本更改为1.9或更高版本,如此处所述:http://maven.apache.org/plugins/maven-invoker-plugin/integration-test-mojo.html#scriptVariables

还必须有下面的配置来传递变量:

代码语言:javascript
复制
                    <scriptVariables>
                        <var1>${skp.var1}</var1>
                    </scriptVariables>

在groovy脚本中,我可以直接使用var1

所以这就是起作用的地方:

代码语言:javascript
复制
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-invoker-plugin</artifactId>
                <version>2.0.0</version>
                <configuration>
                    <debug>true</debug>
                    <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
                    <projectsDirectory>src/test/resources/invoker-tests</projectsDirectory>
                    <pomIncludes>
                        <pomInclude>*/pom.xml</pomInclude>
                    </pomIncludes>
                    <postBuildHookScript>verify</postBuildHookScript>
                    <scriptVariables>
                        <var1>${skip.var1}</var1>
                    </scriptVariables>
                    <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
                    <goals>
                        <goal>clean</goal>
                        <goal>package</goal>
                    </goals>
                </configuration>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
票数 0
EN

Stack Overflow用户

发布于 2017-02-04 00:57:04

检查http://maven.apache.org/plugins/maven-invoker-plugin/run-mojo.html#scriptVariables

这个变量似乎是在1.9版中引入的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42035033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档