問題タブ [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も含まれています)、結果が得られなかったので、ここで何か間違ったことをしていると感じています。
簡単に言えば、正常に動作し、バージョンを正しくインクリメントし、SVN のコードをチェックインし、タグを付けて問題なくデプロイする Maven リリース プラグインを使用して Maven プロジェクトをセットアップしました。
ただし、生成されたjarを参照する必要があるリリースごとにスクリプトも生成する必要があります。これは次の 2 つのことを意味します。
- リリース バージョンの場合は、スクリプトを変更してリリース バージョンを含め、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 を参照するように変更し、再度コミットする必要があります。 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} のようなプロパティはありますか (ところで、それは機能しません)これら2つのバージョン番号を教えてくれるのはどれですか?
前もって感謝します!
リヴ
maven-3 - Maven 3 Parallel Gmaven 散発的な障害
私の Maven 3.0.4 並列ビルドは、次のエラーで断続的に失敗します。
[エラー] プロジェクト opcenter で目標 org.codehaus.gmaven:gmaven-plugin:1.2:compile (デフォルト) を実行できませんでした: 選択に一致するプロバイダーが見つかりません: 1.7 -> [ヘルプ 1] org.apache.maven.lifecycle.LifecycleExecutionException:プロジェクト opcenter で目標 org.codehaus.gmaven:gmaven-plugin:1.2:compile (デフォルト) を実行できませんでした: org.apache.maven.lifecycle.internal.MojoExecutor.execute(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) で java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で 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) java.lang.Thread.run(Thread.java:662) で 原因: org.apache.maven.plugin.MojoExecutionException: 選択に一致するプロバイダーが見つかりません: org.codehaus.gmaven.plugin で 1.7。org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) の MojoSupport.execute(MojoSupport.java:85) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) の MojoSupport.execute(MojoSupport.java:85) ... 13 より多くの.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
とのバージョンを更新しようとしましたが、前の SO の質問gmaven-plugin
で提案されているように providerSelection を設定しようとしました
これは私の Java/Maven バージョンです:
これを引き起こしている可能性のあるものについての指針はありますか?
編集1:
Maven を 2.2.1 にダウングレードしようとしましたが、シンボリック リンクを再指定して、Apple がここで説明されているように同梱するのが好きな事前にパッケージ化された 3.0.4 を使用しないようにしました。
まだまだ抜け出せない、わからない…
java - gmaven プラグインの JDK バージョンを設定するにはどうすればよいですか?
JAVA_HOME で指定されたものとは異なる JDK を使用するように gmaven プラグインを強制することは可能ですか? Java 7 を使用して特定のプロジェクトをビルドする必要がありますが、他のすべてのプロジェクトはまだ Java 6 にあるため、ほとんどの開発者は JAVA_HOME を 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;
グーグルは、これが依存関係チェーンに複数のグルーヴィーなバージョンが含まれているためであることを示唆しています。ただし、完全な依存関係ツリーを確認した後、完全なツリーに依存関係が 1 つしかないことがわかりました。
これが私の pom.xml の抜粋です。
maven - gmaven:execute はコンパイルされたクラスを見つけることができません
gmaven-plugin を使用してsrc/test/groovy/com/kc/Validator.groovycom.kc.Validator
のクラスをコンパイルし、そのクラスを使用してスクリプトを実行しようとしています。.class ファイルが *target/test-classes/com/kc にあるが、スクリプトの実行が失敗した後:mvn compile
pom.xml の関連セクションは次のとおりです。
maven - Groovy スクリプトから Maven project.artifactId を取得する
ここでもう1つ質問があります...
Groovy スクリプト内から maven project.artifactId を取得しようとしています。しかし、それはそれほど簡単ではないようです。私が使用するコードは次のとおりです。
エラーとartifactName==null
. ただし、たとえばuser
、ユーザー定義のプロパティを定義すると、見事に解析されます。
私の間違いはありますか、それともmaven/gmaven/groovyの制限ですか?
助けてくれてありがとう!
ps 任意の回避策も受け入れられます。