[解決済み] mavenが外部HTTPレポジトリをブロックするのを無効にするにはどうすればよいですか?
質問
Mavenはバージョン3.8.1以降、デフォルトで外部HTTPリポジトリをブロックしています( https://maven.apache.org/docs/3.8.1/release-notes.html )
これを無効にする方法、またはこのルールからリポジトリを除外する方法はありますか?
解決方法は?
私は、デフォルトのHTTPブロッキングを担当しているMavenのgitリポジトリのコミットを検査することで、これを行う解決策を見つけました。 https://github.com/apache/maven/commit/907d53ad3264718f66ff15e1363d76b07dd0c05f
私の解決策は以下の通りです。
Mavenの設定(以下の場所にあります。
${maven.home}/conf/settings.xml
または
${user.home}/.m2/settings.xml
) の場合、以下のエントリーを削除する必要があります。
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
</mirror>
プロジェクトで作業していて、他の人とコードを共有していたり、自動テストでCI/CDを使用したいなどの理由で、Mavenの設定を常にこのようにすることができない場合、次のようにすることができます。
: という名前のディレクトリを追加します。
.mvn
をプロジェクトに追加します。その中の
.mvn
という名前のファイルを追加します。
maven.config
という内容で
--settings ./.mvn/local-settings.xml
. その中で
.mvn
という名前のファイルを追加します。
local-settings.xml
. このファイルは、次のようなものです。
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
<mirrors>
<mirror>
<id>my-repository-http-unblocker</id>
<mirrorOf>my-blocked-http-repository</mirrorOf>
<name></name>
<url>http://........</url>
</mirror>
</mirrors>
</settings>
の中のどこが
<mirrorOf>
タグを指定する必要があります。
id
のブロックされたリポジトリの
<url>
タグで、リポジトリの元のurlを再度指定します。ブロックされているすべてのリポジトリに対して、このアンブロッカーミラーを作成する必要があります。
例
で以下のようなHTTPリポジトリが定義されている場合、そのリポジトリにアクセスすることができます。
pom.xml
:
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://my-url/libs-release</url>
</repository>
<repository>
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://my-url/libs-snapshot</url>
</repository>
</repositories>
次に
.mvn/local-settings.xml
:
<mirrors>
<mirror>
<id>release-http-unblocker</id>
<mirrorOf>central</mirrorOf>
<name></name>
<url>http://my-url/libs-release</url>
</mirror>
<mirror>
<id>snapshot-http-unblocker</id>
<mirrorOf>snapshots</mirrorOf>
<name></name>
<url>http://my-url/libs-snapshot</url>
</mirror>
</mirrors>
私の仕事が、これにつまずいた他の人々の助けになることを願っています。しかし、もしもっとエレガントで優れた解決策をお持ちでしたら、ぜひ教えてください。
関連
-
[解決済み] org.apache.hadoop.conf.Configuration が hadoop-core.jar に存在しない。
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] Mavenに最新バージョンの依存関係を使用するように指示するにはどうすればよいですか?
-
[解決済み] mavenの強制アップデートを行うには?
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み] mavenで単一のテストメソッドを実行する
-
[解決済み] Mac OS XでのMavenのインストール
-
[解決済み] IntelliJ - Javaプロジェクト/モジュールをMavenプロジェクト/モジュールに変換する
-
[解決済み】Intellij IDEAがすべてのMaven依存性を再読込するように強制する。
-
[解決済み】mavenでJavaのバージョンを指定する - プロパティとコンパイラープラグインの相違点
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] mavenが外部HTTPレポジトリをブロックするのを無効にするにはどうすればよいですか?
-
[解決済み] MavenにSSLエラーを無視する(そしてすべての証明書を信頼する)ように指示する方法は?
-
[解決済み] ビルドプランを計算できませんでした。プラグイン org.apache.maven.plugins:maven-jar-plugin:2.3.2 またはその依存関係の1つが解決されませんでした。
-
[解決済み] Magnolia archetype は info.magnolia.ui:magnolia-ui-project:pom:5.3 を解決することができません。
-
[解決済み] org.apache.hadoop.conf.Configuration が hadoop-core.jar に存在しない。
-
[解決済み] Tomcat 9用Mavenプラグイン
-
[解決済み] mvnコマンドが内部コマンドまたは外部コマンドとして認識されない
-
Cmake パースエラー。コマンド名を期待したのに、引用符で囲まれていない引数をテキスト " " で受け取りました。
-
[解決済み】Intellij IDEAがすべてのMaven依存性を再読込するように強制する。
-
[解決済み】pom.xmlの<dependency>の下にある<scope>は何のためにあるのですか?