问题标签 [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 投票
0 回答
907 浏览

maven - 如何使用 GMaven 从 Maven 发布插件中获取发布版本?

我觉得我在这里做错了,因为我已经在网上挖掘了一段时间(当然包括stackoverflow),但没有产生任何结果!

简而言之,我有一个使用 maven 发布插件设置的 maven 项目,该插件运行良好,正确增加版本,在 SVN 中签入代码,标记和部署没有问题。

但是,需要为每个版本生成一个脚本,该脚本必须引用生成的 jar。这意味着两件事:

  1. 对于发布版本,更改脚本以包含发布版本,将其提交回 SVN(因此它被标记等)
  2. 发布后,必须更新脚本以包含(下一个)SNAPSHOT 版本并提交回 SVN

例如,假设我当前的 pom 工作版本是 1.1.1-SNAPSHOT。因此,我的 script.sh 包含对 project-1.1.1-SNAPSHOT.jar 的引用。当我执行 mvn release:prepare(假设我会坚持使用 maven-release-plugin 建议的版本)时,发布版本将变为 1.1.1。在这个阶段,我的 script.sh 应该更改为引用 project-1.1.1.jar 并重新提交。在 mvn 发布时:执行所有 1.1.1 标记,部署到 maven repo 等。然后,我的pom 将更改为 1.1.2-SNAPSHOT 并提交回 SVN。此时我的脚本需要改成引用project-1.1.2-SNAPSHOT.jar。

我发现我可以通过使用 GMaven 插件之类的东西轻松更改脚本——实际上我已经在准备资源阶段启动了脚本(尽管也许我需要看另一个?)但是我最大的问题see 正在检索 maven-release-plugin 决定使用的版本:换句话说,我如何找出:

  • maven-release-plugin 决定使用的发布版本
  • maven-release-plugin 将使用的下一个 dev/SNAPSHOT 版本

一旦我可以访问这些,我想我可以让 GMaven 执行所需的代码来相应地更改我的脚本。(不过,如果查看上述场景,您可以推荐一种更好的方法,我会很高兴听到它!)是否有像 ${project.releaseVersion} 这样的属性(顺便说一句,这不起作用)哪个可以给我这两个版本号?

提前致谢!

丽芙

0 投票
1 回答
1368 浏览

maven-3 - Maven 3 Parallel Gmaven 零星故障

我的 Maven 3.0.4 并行构建因以下错误间歇性失败:

[错误] 无法执行目标 org.codehaus.gmaven:gmaven-plugin:1.2:compile (default) on project opcenter: No providers found matching selection: 1.7 -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException:未能在项目 opcenter 上执行目标 org.codehaus.gmaven:gmaven-plugin:1.2:compile(默认):没有找到匹配选择的提供者:org.apache.maven.lifecycle.internal.MojoExecutor.execute 的 1.7(MojoExecutor.java: 217)在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 在 org.apache.maven .lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 在 org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167) 在 org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:163) 在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 在 java.util.concurrent。 FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java .util.concurrent.FutureTask.run(FutureTask.java:138) 在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java :908) at java.lang.Thread.run(Thread.java:662) 原因:org.apache.maven.plugin.MojoExecutionException:没有找到匹配选择的提供者:org.codehaus.gmaven.plugin 中的 1.7。MojoSupport.execute(MojoSupport.java:85) 在 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 13 更多原因:org.codehaus.gmaven.feature.ProviderException:未找到匹配选择的提供者:org.codehaus.gmaven.runtime.loader.DefaultProviderManager.select(DefaultProviderManager.java:109) 的 org.codehaus 的 1.7 .gmaven.plugin.ProviderMojoSupport.provider(ProviderMojoSupport.java:120) 在 org.codehaus.gmaven.plugin.ComponentMojoSupport.feature(ComponentMojoSupport.java:49) 在 org.codehaus.gmaven.plugin.ComponentMojoSupport.feature(ComponentMojoSupport.java :42) 在 org.codehaus.gmaven.plugin.ComponentMojoSupport.doExecute(ComponentMojoSupport.java:53) 在 org.codehaus.gmaven.plugin.MojoSupport.execute(MojoSupport.java:69) ... 还有 15 个

我的父 pom.xml 定义 gmaven 插件如下:

请注意,当我运行“mvn groovy:providers”命令时,我看到运行时已安装,当我使用单线程构建时,构建成功

0 投票
2 回答
13245 浏览

maven - 执行 org.codehaus.gmaven:gmaven-plugin:1.3:testCompile:groovy/lang/Closure 时缺少必需的类

我正在尝试mvn clean install一个已经登陆我盘子的 Maven 项目,但是我遇到了一个异常,我认为这可能是由于 Groovy 的版本冲突,这就是我得到的:

-e用标志跟踪:

这些是我正在使用的相关插件:

org.apache.maven.plugins maven-compiler-plugin ${maven-compiler-plugin.version} 1.6 1.6 true

我已经尝试更新groovy-all和的版本gmaven-plugin,并且我还尝试按照之前的 SO 问题中的建议设置 providerSelection

这是我的 Java/Maven 版本:

关于可能导致这种情况的任何指示?

编辑1:

我已经尝试将 maven 降级到 2.2.1,并重新指向符号链接以确保它不会尝试使用 Apple 喜欢随附的预打包 3.0.4,如此所述。

我还是过不去,我不知道...

0 投票
4 回答
2222 浏览

java - 如何为 gmaven 插件设置 JDK 版本?

是否可以强制 gmaven 插件使用与 JAVA_HOME 中指定的不同的 JDK?我们需要使用 Java 7 构建一个特定的项目,但大多数开发人员会将 JAVA_HOME 设置为 Java 6 安装,因为我们所有其他项目仍使用 Java 6。

我们得到的错误信息是:

谢谢!

0 投票
3 回答
9363 浏览

java - GMaven 构建失败并显示“遇到 API 不兼容”

尝试使用 MavenGmaven插件编译我的项目时,出现以下错误:

[ERROR] Failed to execute goal org.codehaus.gmaven:gmaven-plugin:1.4:compile (default) on project concorde-web: Execution default of goal org.codehaus.gmaven:gmaven-plugin:1.4:compile failed: An API incompatibility was encountered while executing org.codehaus.gmaven:gmaven-plugin:1.4:compile: java.lang.NoSuchMethodError: org.codehaus.groovy.ast.ModuleNode.getStarImports()Ljava/util/List;

谷歌搜索表明这是因为多个 groovy 版本最终出现在我的依赖链中。但是,在检查了完整的依赖树之后,我发现完整的树中只有一个依赖。

这是我的 pom.xml 的摘录:

0 投票
1 回答
1075 浏览

maven - gmaven:执行找不到编译的类

我正在尝试使用 gmaven-plugincom.kc.Validatorsrc/test/groovy/com/kc/Validator.groovy中编译一个类,然后使用该类运行一个脚本。在mvn compile.class 文件位于 *target/test-classes/com/kc 但脚本执行失败后:

pom.xml 的相关部分是:

0 投票
1 回答
2552 浏览

maven - gmaven set maven property from groovy script

I'm using maven+gmaven plugin to retrieve some information from Nexus repo. What I'm doing is retrieving build number and trying to set MAVEN property to this value:

But for some reason I'm getting the following error when launching this:

Do anybody know what am I doing wrong and why such a straightforward function as setProperty() which works for others doesn't work in my case?

Thanks in advance for your help and explanations!

p.s. It seems I have old gmaven or something where only setProperty(String, NodeChildren) exists.

0 投票
2 回答
1802 浏览

maven - gmaven 从 groovy 类中访问 maven 变量

有谁知道如何从 groovy 类中访问 maven 变量(project.properties getProperty('justAbotherProperty'))?当我试图在纯脚本中(在课堂之外)执行此操作时,我能够做到这一点。根据gmaven 文档,可以从脚本中访问maven项目变量。如果是这样,我只想确认它,然后回到 scipts 而不是课堂......

这是我使用的代码:

parseParameters()吐出的执行:

提前感谢您的帮助!

0 投票
2 回答
696 浏览

maven - groovy ant sshexec 没有输出

我正在使用 groovy+gmaven+maven 来自动化/构建构建过程。
当我在 groovy 脚本中使用 ant sshexec 任务时,该脚本又从 gmaven 插件部分执行,我得到了一些来自 sshexec 的日志信息。我想知道在 groovy 脚本中使用 ant.sshexec() 时是否可以写 NO 输出?我有以下脚本:

输出是:

我可以压制/隐藏它吗?

0 投票
1 回答
1166 浏览

maven - 从 groovy 脚本中获取 Maven project.artifactId

这里还有一个问题...

我正在尝试从 groovy 脚本中获取 maven project.artifactId。不过,这似乎并不那么容易。这是我使用的代码:

它以错误和artifactName==null. 但是,如果我定义了一些用户定义的属性,比如说user,它会被很好地解析。

是我的错误还是 maven/gmaven/groovy 的限制?

提前感谢您的帮助!

ps 任何变通方法也是可以接受的。