问题标签 [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.
maven - 如何使用 GMaven 从 Maven 发布插件中获取发布版本?
我觉得我在这里做错了,因为我已经在网上挖掘了一段时间(当然包括stackoverflow),但没有产生任何结果!
简而言之,我有一个使用 maven 发布插件设置的 maven 项目,该插件运行良好,正确增加版本,在 SVN 中签入代码,标记和部署没有问题。
但是,需要为每个版本生成一个脚本,该脚本必须引用生成的 jar。这意味着两件事:
- 对于发布版本,更改脚本以包含发布版本,将其提交回 SVN(因此它被标记等)
- 发布后,必须更新脚本以包含(下一个)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} 这样的属性(顺便说一句,这不起作用)哪个可以给我这两个版本号?
提前致谢!
丽芙
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”命令时,我看到运行时已安装,当我使用单线程构建时,构建成功
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,如此处所述。
我还是过不去,我不知道...
java - 如何为 gmaven 插件设置 JDK 版本?
是否可以强制 gmaven 插件使用与 JAVA_HOME 中指定的不同的 JDK?我们需要使用 Java 7 构建一个特定的项目,但大多数开发人员会将 JAVA_HOME 设置为 Java 6 安装,因为我们所有其他项目仍使用 Java 6。
我们得到的错误信息是:
谢谢!
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 的摘录:
maven - gmaven:执行找不到编译的类
我正在尝试使用 gmaven-plugincom.kc.Validator
在src/test/groovy/com/kc/Validator.groovy中编译一个类,然后使用该类运行一个脚本。在mvn compile
.class 文件位于 *target/test-classes/com/kc 但脚本执行失败后:
pom.xml 的相关部分是:
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.
maven - gmaven 从 groovy 类中访问 maven 变量
有谁知道如何从 groovy 类中访问 maven 变量(project.properties getProperty('justAbotherProperty'))?当我试图在纯脚本中(在课堂之外)执行此操作时,我能够做到这一点。根据gmaven 文档,可以从脚本中访问maven项目变量。如果是这样,我只想确认它,然后回到 scipts 而不是课堂......
这是我使用的代码:
parseParameters()
吐出的执行:
提前感谢您的帮助!
maven - groovy ant sshexec 没有输出
我正在使用 groovy+gmaven+maven 来自动化/构建构建过程。
当我在 groovy 脚本中使用 ant sshexec 任务时,该脚本又从 gmaven 插件部分执行,我得到了一些来自 sshexec 的日志信息。我想知道在 groovy 脚本中使用 ant.sshexec() 时是否可以写 NO 输出?我有以下脚本:
输出是:
我可以压制/隐藏它吗?
maven - 从 groovy 脚本中获取 Maven project.artifactId
这里还有一个问题...
我正在尝试从 groovy 脚本中获取 maven project.artifactId。不过,这似乎并不那么容易。这是我使用的代码:
它以错误和artifactName==null
. 但是,如果我定义了一些用户定义的属性,比如说user
,它会被很好地解析。
是我的错误还是 maven/gmaven/groovy 的限制?
提前感谢您的帮助!
ps 任何变通方法也是可以接受的。