web-dev-qa-db-ja.com

Mavenがhttp://repo.maven.Apache.orgにアクセスしようとするのをどのように停止しますか?

開発マシンはインターネットにアクセスできず、タイムアウトまで約60秒かかります。構築しようとすると、

Downloading: http://repo.maven.Apache.org/maven2/com/google/gsa-connector/2.8.0/gsa-connector-2.8.0.pom

ただし、POMには次のものがあります。

    <repository>
      <id>bb-nexus</id>
      <url>http://repo.dev.bloomberg.com/content/groups/public</url>
      <releases><enabled>true</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>
    <repository>
      <id>nexus-3rdparty</id>
      <url>http://repo.dev.bloomberg.com/content/repositories/thirdparty/</url>
      <releases><enabled>true</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>

常に最初にrepo.mavenにアクセスしようとします。私もD:\。m2\settings.xmlに追加しようとしました

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://repo.dev.bloomberg.com/content/groups/public</url>
    </mirror>
  </mirrors>

http://maven.Apache.org/guides/mini/guide-mirror-settings.html に基づいていますが、repo.mavenを最初に試し続けています。 Apache Maven 3.0.4を使用しています(r1232337; 2012-01-17 03:44:56-0500)

ローカルのrepo.devにアクセスする必要があるため、-oは使用できません。


「効果的な設定」は次のとおりです。

D:\Users\chloe\Projects\team\confluence-plugin>mvn help:effective-settings
[INFO] Scanning for projects...
Downloading: http://repo.maven.Apache.org/maven2/org/Apache/maven/plugins/maven-install-plugin/maven-metadata.xml
[WARNING] Could not transfer metadata org.Apache.maven.plugins:maven-install-plugin/maven-metadata.xml from/to central (
http://repo.maven.Apache.org/maven2): Connection to http://repo.maven.Apache.org refused
...
[INFO]
[INFO] --- maven-help-plugin:2.1.1:effective-settings (default-cli) @ bb-confluence-plugin ---
[INFO]
Effective user-specific configuration settings:

<?xml version="1.0" encoding="UTF-8"?>
...
<settings xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca
tion="http://maven.Apache.org/SETTINGS/1.1.0 http://maven.Apache.org/xsd/settings-1.1.0.xsd">
  <localRepository xmlns="http://maven.Apache.org/SETTINGS/1.1.0">d:\.m2\repository</localRepository>
  <pluginGroups xmlns="http://maven.Apache.org/SETTINGS/1.1.0">
    <pluginGroup>org.Apache.maven.plugins</pluginGroup>
    <pluginGroup>org.codehaus.mojo</pluginGroup>
  </pluginGroups>
</settings>

[INFO] ------------------------------------------------------------------------
33
Chloe

すべてのpomファイルはmavenスーパーPOMから継承します http://maven.Apache.org/ref/3.0.4/maven-model-builder/super-pom.html このエントリが含まれます:

<repositories>
    <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>http://repo.maven.Apache.org/maven2</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

あなたのpomでこれを設定してみてください:

<repositories>
    <repository>
        <id>central</id>
        <url>http://repo.dev.bloomberg.com/content/groups/public</url>
        <releases>
            <enabled>false</enabled>
        </releases>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>central</id>
        <url>http://repo.dev.bloomberg.com/content/groups/public</url>
        <releases><enabled>false</enabled></releases>
    </pluginRepository>
</pluginRepositories>
42
Devin Jones

中央リポジトリのオーバーライド

使い方:

ほとんどの組織では、誰もが中央のMavenリポジトリから展開したりダウンロードしたりできるわけではないため、1つ以上の共有リポジトリを設定する必要があります。ネットワーク内のさまざまな環境で使用するリリースを公開するには、通常、参照するものを設定します内部リポジトリとして。

このリポジトリをプロジェクトに使用する場合、2つの選択肢があります。ミラーとして使用するか、中央リポジトリを上書きするかです。セントラルリポジトリのコピーのみを対象とする場合、および設定で開発者にこれを構成させることが許容される場合は、ミラーとして使用します。または、この場合のように、中央リポジトリへのアクセスを制御して、各ユーザーの設定ではなくプロジェクトレベルからリポジトリを構成したり、同じリポジトリに独自のアーティファクトを含めたりするには、中央リポジトリをオーバーライドする必要がありますリポジトリ。

また、この時点で、リポジトリの2つの主要なブロック設定を持つMaven依存関係によって実行される解決プロセスを念頭に置くことが非常に重要です。

  1. 良識に関連するものは、当社内にリストされます。
  2. ノード内に追加されるか、ライフサイクル中に使用されるプラグインに関連します。

ソリューション:

オブジェクト指向フレームワークとして、MavenにはすべてのPOMにスーパーPOMの暗黙の親があります。その定義の下で、依存関係とプラグインの両方の最初のリゾルバーリポジトリー構成を定義します。

<repositories>
    <repository>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <layout>default</layout>
      <url>http://repo1.maven.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Maven Plugin Repository</name>
      <url>http://repo1.maven.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories> 

中央リポジトリを内部リポジトリで上書きするには、中央識別子を使用する設定ファイルやPOMでリポジトリを定義する必要があります。通常、これは、すべてのアクセスの一貫性を確保するために、通常のリポジトリとプラグインリポジトリの両方として定義する必要があります。例えば:

<repositories>
    <repository>
      <id>central</id>
      <name>Maven Repository Switchboard</name>
      <layout>default</layout>
      <url>http://repo.dev.bloomberg.com/content/groups/public</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Maven Plugin Repository</name>
      <url>http://repo.dev.bloomberg.com/content/groups/public</url>
      <layout>default</layout>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories> 

関連リンク: Coderwall-中央リポジトリへのアクセス試行からMavenを停止

23
helmedeiros

レポート/プラグインブロックで次を設定してみてください

    <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.9</version>
        <configuration>
            <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
        </configuration>
    </plugin>
0
Sreesankar