问题标签 [gmaven]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
884 浏览

maven - gmaven/groovy 从另一个脚本调用脚本函数

我想知道是否可以从 no-classes-script/maven 插件声明中调用脚本的函数(没有类)?

例如脚本callMe.groovy

这是我想从 maven/另一个 acript 调用的函数。
如果不上课,这可能吗?

在此先感谢您的帮助!

0 投票
2 回答
586 浏览

maven - 在没有 session.lookup 的 GMaven 脚本中获取 MavenProjectHelper

我找到了这个关于如何使用 Groovy scriptlet 附加 Maven 端工件的示例。我已经看到MavenSession.lookup已被弃用,我应该使用依赖注入。让我们假设有以下 POM.xml 部分:

如何将 MavenProjetHelper 注入到我的 scriptlet 中?可能吗?我不想创建 Mojo 或 Groovy Mojo,我想让它内联在 POM 中。

更新: 如果不清楚:上面的示例完美运行,但使用了已弃用的 API (MavenSession.lookup)。问题仅在于是否可以将任何内容注入 gmaven scriptlet。

0 投票
2 回答
124 浏览

java - 如何在 Gmaven 中转义 Java 泛型?

因此,您正在 GMaven 中编写一个带有一些 Java 的 groovy 脚本。在源标签之间:

问题 < 和 > 看起来像 XML 标记组件。有没有办法逃避这些,如果是这样,那是什么?

0 投票
1 回答
506 浏览

maven - 运行 maven 执行时未初始化 Log4j

我正在尝试使用 Log4j 运行一个 groovy 脚本。脚本运行良好,但 log4j 未初始化。我已将 log4j.properties 放在 src/main/resources 中,并且还将资源包含在 pom.xml 的构建部分中。下面是 pom.xml 的一部分

我使用以下命令来执行脚本:

我在脚本执行结束时收到以下警告:

0 投票
2 回答
2735 浏览

java - 从 GMaven 运行脚本导致“没有这样的属性:项目”异常

tl; dr:No such property: project使用 GMaven 从 Maven 中运行 Groovy 脚本时,如何解决“ ”错误?我正在使用 GMaven 1.5、Groovy 2.2.1。和 Java 1.7 和 Maven 3.1.0 。


我有一个 Groovy 脚本—— DeltaCodeGen(它没有包)——生成 Java 代码(对于 Java 项目,这是项目中唯一的 Groovy)。过去我们会让脚本生成.java文件并且这些文件会被签入,但现在我们试图在 Maven 构建generate-sources阶段构建它们。

我可以从我的 IDE 成功运行脚本,但是当我尝试将它作为构建的一部分运行时,我得到了

尽管有其他答案,但我的脚本没有名为 的变量project,也根本不包含字符串“project”。它不扩展任何其他脚本。它使用的唯一库是Reflections(对 Servlet API 的需求仍然是一个悬而未决的问题)。

运行构建,我注意到stderr(通过运行mvn -X 2>mvn_err.log)以下错误:


我的 Maven 配置是:

0 投票
2 回答
16403 浏览

groovy - 如何使用 groovy maven 插件

我想在使用mvn test或时自动编译和运行测试mvn install

我曾经使用过gmaven-plugin,它会起作用。

但是当我使用groovy-maven-plugin新版本的gmaven时,它不起作用!

那么如何配置呢?

这是我的pom.xml

0 投票
1 回答
1433 浏览

groovy - 在 Spock 示例项目中找不到 org.spockframework:spock-core:jar:1.0-groovy-2.3-SNAPSHOT

尝试通过 GMaven (Maven 3.1.1) 使用带有 Groovy 2.3 支持的 Spock,但我很难获得 SNAPSHOT 依赖项。即使我尝试运行定义了类似依赖项的 Spock Example 项目,我似乎也有同样的错误。

我像 Spock 示例一样指定了 SNAPSHOT 存储库:

但即使当我mvn clean testSpock Example运行时,我也得到:

错误] 未能在项目 spock-example 上执行目标:无法解析项目 org.spockframework:spock-example:jar:1.0-SNAPSHOT 的依赖项:未能找到 org.spockframework:spock-core:jar:1.0-groovy-2.3 -SNAPSHOT in 已缓存在本地存储库中,直到nexus_sprn 的更新间隔已过或强制更新后才会重新尝试解析 -> [Help 1]

如果我只使用 0.7-groovy-2.0 版本,我会成功,但我想要 Groovy 2.3,因为它似乎 @CompileStatic 不适用于我在 Groovy 2.0 中的项目。

编辑:

请注意在构建失败之前发生的警告:

[警告] org.spockframework:spock-core:jar:1.0-groovy-2.3-SNAPSHOT 的 POM 丢失,没有可用的依赖信息

0 投票
1 回答
1770 浏览

maven - 使用位于 src/test/java 的 Maven 运行 Spock 测试

我java一些Spock测试:

这是Spock测试。它们位于src/test/java,当我运行验证时,它们被跳过。当我把它们放在src/test/groovy Maven中时找到它们。我可以配置Maven以在它们存在时找到它们src/test/java吗?我的 Maven 配置是:

0 投票
0 回答
339 浏览

maven - 我如何在生成过程中为 Maven 原型创建派生的必需属性

我需要在原型期间提供衍生的自定义所需属性:使用原型时的生成。Maven 已经支持从内置属性(如 artifactId 和 rootArtifactId)派生的自定义必需属性。但是由于一些长期存在的评估排序问题,不可能可靠地从自定义属性派生。

我找到了一个可行的解决方案,在这里使用 groovy maven 插件。

该提议的解决方案的问题是初始化阶段不适用于非 POM 用途,如原型生成。我的问题是如何在原型:生成期间使用 groovy maven 插件?我似乎无法调用它。我无法弄清楚要使用什么相位值。

0 投票
2 回答
747 浏览

maven - 单元测试 GMavenPlus Groovy Mojos - project.basedir 没有被扩展

我目前正在尝试使用 GMavenPlus(谢谢@Keegan!)和 Groovy 2.4.3 编写一个 Maven 插件。简而言之,插件解析 SQL DDL 的目录并从这些解析的 DDL 生成输出

Mojo 本身在构建、导入和运行在一个完整的消费项目中时工作得很好。霍拉!

问题在于单元测试。当试图对这个 Mojo 进行单元测试时,Maven POM vars like${project.basedir}没有被扩展,因此 mojo 失败并出现类似“找不到文件![${project.basedir}/src/test/resources/ddl]”的错误。正如您从该错误消息中看到的那样,它${project.basedir}是作为文字传递的,而不是被扩展的。

我目前正在使用 Maven 插件测试工具(具有固定依赖项,请参阅此博客)、JUnit 4.12 和 AssertJ 3.0.0 作为我的测试堆栈。

有什么想法或特定技巧可以让 project.basedir 在单元测试中扩展?

提前致谢!

有问题的单元测试:

BaseMojoTest.groovy(实际上只是一个方便的基类):

Mojo 本身的主 POM 文件:

单元测试期间使用的测试 POM:

谢谢!