問題タブ [maven-metadata]

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 に答える
1375 参照

maven - versions-maven-plugin は maven-metadata.xml を読み取ることができません

今日から突然、versions-maven-plugin が動かなくなりました。設定を変更しておらず、プラグインは以前は機能していました。

mvaen のバージョンmvn -vは次のとおりです。

実行時に同じ問題が発生しますmvn archetype:generate

注:私はプロキシの背後にいません。設定ファイルは次のとおりです。

0 投票する
1 に答える
1695 参照

maven - 仮想レポの maven-metadata.xml を更新するために artifactory を取得する方法は?

長年の読者、初めての質問者...

スタンドアロン ネットワークを使用しています (インターネット アクセスなし)。仮想libs-snapshotlibs-releaseリポジトリを持つ人工サーバーがあります。libs-snapshotの下には、4 つのローカル スナップショット リポジトリがあります。その理由は、他の場所 (接続されていない) からすべてのアーティファクト リポジトリのダンプを取得し、それをこのネットワークにインポートするためです。しかし、そこにあるスナップショット アーティファクトのサブセットを変更する必要があります。そこで、別のローカル スナップショット リポジトリを作成し、それをmine-snapshot-local (maven 2 リポジトリ、一意に設定、最大成果物 = 1?) と呼び、libs-snapshotの先頭に追加しました。バーチャル。理論的には、これにより、必要なアーティファクトの一部を変更し、独自のリポジトリにデプロイして、ローカルの開発者がそれらを取得できるようになります。しかし、接続されていない他のシステムからの定期的なダンプから、他のアーティファクトの 99% に引き続きアクセスできます。さらに、スタンドアロンのネットワーク リポジトリ ( mine-snapshot-local ) に触れることなく、同時に変更されている他のネットワークからドロップを卸売ベースでインポートできます。私たちはアーティファクトリポジトリを「分岐」していると思います...

インポートされたリポジトリの 1 つに直接デプロイすることもできますが、次に別のネットワークからダンプを取得すると、カスタムで変更されたアーティファクトはすべて消えてしまいます...可能であれば働く。

私のローカル日食から、maven プラグインはアーティファクトをエラーなしで明示的にmine-snapshot-localリポジトリにデプロイします。私が見ている問題は、仮想 libs-snapshot の maven-metadata.xml が更新されていないことです。そのファイルのタイムスタンプが更新され、Web ブラウザーで libs-snapshot/whatever_package を参照すると、新しくデプロイされたアーティファクトが既存のスナップショットよりも新しいタイムスタンプで表示されます。ただし、maven-metadata.xml ファイルには、「古い」スナップショットへのポインターがまだ含まれています。

maven-metadata.xml はmine-snapshot-localリポジトリで正常に更新されますが、artifactory がすべてのメタデータ ファイルを仮想リポジトリ用に正しくマージしていないようです。または、何かを誤って構成して、何らかの形で最上位のローカル リポジトリを無視した可能性があります (しかし、スナップショットの jar/pom がまだそこに表示されるのはなぜですか?)。

私たちはartifactory 2.6.1を使用しています(アップグレードするオプションはありません)。

スナップショット リポジトリを一意、非一意、デプロイヤに設定する、スナップショットの数を制限するなど、さまざまなことを試しました。どれも大きな違いはないようです。

問題になる可能性があると私が見ていることの1つは、スナップショットに割り当てられたビルド番号です。たとえば、インポートされたレポでは、アーティファクトのタイムスタンプは 1 週間前ですが、ビルド番号は 4355 である可能性があります。 4355 よりもはるかに小さいもの)。

このように複数のローカル スナップショット リポジトリを作成しようとして、間違ったツリーを作成しているのでしょうか? これで問題ないように思えますが、そうではないかもしれません。

0 投票する
2 に答える
10557 参照

maven - リポジトリに既にあるアーティファクトの maven-metadata.xml を Maven がダウンロードしないようにするにはどうすればよいですか?

Maven 3.2 を使用しています。pom.xml ファイル (WAR プロジェクト) にこの依存関係があります。

pom のフェーズ (「mvn install」など) を実行するたびに、アプリは常に依存関係に関するメタデータのダウンロードを試みます…</p>

Mavenにそれをやめるように指示するにはどうすればよいですか? アーティファクトは既にローカルの Maven リポジトリにキャッシュされています。

ありがとう - デイブ

0 投票する
1 に答える
2905 参照

maven - maven-metadata.xml ファイルが nexus で正しく更新されない

プログラムで aether API を使用して、アーティファクトのさまざまなバージョンを nexus リポジトリにアップロードしました。私

しかし、nexus リモート リポジトリからアーティファクトを削除すると、maven-metadata.xml ファイルが正しく更新されません。リリース バージョンは、削除したアーティファクトをまだ指しています。

メタデータ ファイルを更新する方法はありますか?

0 投票する
1 に答える
828 参照

java - Maven ローカル リポジトリからアーティファクトのタイムスタンプを取得する方法

Java を使用してプログラムで Maven ローカル リポジトリ メタデータ ファイル (maven-metadata.xml) に格納された Maven アーティファクト (GAV 座標を使用) のタイムスタンプとビルド番号を取得する必要があります。このファイルを単純に解析できることはわかっていますが、それは悪い解決策です。誰にもアイデアはありますか?ありがとうございました。

0 投票する
2 に答える
3078 参照

java - nexus の maven-metadata ファイルをプログラムで更新する方法

nexus サーバーの maven-metadata.xml ファイルをプログラムで更新したいと考えています。これを行う方法はありますか?これに eclipse aether API を使用できますか?

0 投票する
1 に答える
2209 参照

maven - nexus デプロイメント ロールの使用 - アーティファクトのメタデータのインストール中にエラーが発生しました - 認証に失敗しました

Nexus Deployment ロールが付与されたユーザーで mvn deploy を実行すると、次のエラー メッセージが表示されます。

アーティファクトのメタデータのインストール中にエラーが発生しました: メタデータのデプロイ中にエラーが発生しました: 承認に失敗しました: アクセスが拒否されました: http://maven.mydomain.com/content/repositories/releases/testing/testapp/maven-metadata.xml

これは、maven-metadata.xml ファイルを更新するためのパーミッションが欠落していることと関係があるに違いありません。これは、アーティファクトの最初のバージョンを同じユーザーでリポジトリにデプロイすると、正常に完了するためです (maven-metadata.xml がないため)。更新すると、正常に作成されます)。また、管理者アカウントで mvn deploy を実行すると、この問題は発生しません。

maven-metadata.xml を更新できるようにするには、Nexus デプロイメント ロール以外に、ユーザーにどのような追加の権限を割り当てる必要がありますか?

ありがとう

0 投票する
4 に答える
6789 参照

maven - maven-publish と artifactory-gradle-plugin を使用して maven-metata.xml を生成するにはどうすればよいですか?

groovy で Gradle プラグインを作成し、Gradle を使用してビルドしました。Gradle Artifactory プラグインと Gradle の maven-publish プラグインを使用して結果を公開するローカル ネットワーク Artifactory サーバーがあります。依存関係としてこのプラグインに依存する別の Gradle ビルド スクリプトがあります。特定のバージョンで依存関係をリストすると、これをすべて機能させることができました。Maven のバージョン範囲 (例: '[1.0,2.0)') を使用しようとしましたが、maven-metadata.xml が見つからないと言って失敗します。Artifactory を確認しましたが、案の定、そこにはありません。できればプラグインのビルド中に、それを生成するために何をする必要がありますか?

カスタム gradle プラグインの build.gradle ファイルは次のとおりです。

Gradle、Artifactory、および Maven のドキュメントを検索して、maven-metadata.xml と、生成およびデプロイの方法を理解しました。それが何であるかは理にかなっており、おそらく手動で構築することもできますが、maven-publish プラグインまたは artifactory-gradle-plugin を使用して Gradle で自動的に生成する方法を具体的に説明するものは見つかりません。ファイルを手動で更新する必要はありません。自動化の取り組みが無効になるためです。また、すでに Gradle に多くの投資を行っているため、mvn に切り替えたくありません。

0 投票する
2 に答える
526 参照

maven - Maven から Artifactory への認証済み HEAD 呼び出し

最近 Artifactory インスタンスでセキュリティを有効にしたため、いくつかの問題が発生しました。1つは残っており、少し奇妙に思えます:

Maven は HTTP HEAD を使用して、新しい SNAPSHOT がデプロイされているかどうかを確認します。ただし、セキュリティが有効になっている場合、最初の呼び出しは認証ヘッダーなしで行われるため、Artifactory から 401 応答が返されます。

その後、Maven は認証ヘッダーを使用して同じ呼び出しを実行することになっています。これは、maven-metadata.xmlファイルの場合です。

ただし、.pom および .jar ファイルの場合、以下のログに示すように、リクエストは再試行されません。

説明したように、maven-metadata.xml ファイルのダウンロードはユーザー資格情報で再試行されますが、myproject-interface-2.0.0-SNAPSHOT.jarは再試行されません。

そのサーバーのプリエンティブ認証を有効にしようとしましたが、Maven の動作に変化が見られませんでした:

これは、既存の SNAPSHOT の更新にのみ関係します。新しいアーティファクトのダウンロードは、認証ヘッダーを含む HTTP GET で行われるためです (少なくとも再試行が必要です)。これにより、SNAPSHOT アーティファクトを正しく使用できなくなります。

Maven 3.2.1 と Artifactory 3.4.2 を使用しています。