1

会社のローカルMavenリポジトリを使用する必要がありますが、それだけです。これで、SuperPOMにrepo1.maven.org/maven2-が含まれています。これをオフにします。

現在、http://maven.apache.org/guides/introduction/introduction-to-the-pom.htmlには、「明示的に設定されていない限り、すべてのPOMがスーパーPOMを拡張する」と記載されています。

明示的に設定するにはどうすればよいですか?

(Maven 3.0.4)

4

3 に答える 3

3

「ローカルリポジトリ」とは、$ HOME / .m2 / repositoryのようなローカルリポジトリではなく、会社/オフィスで利用可能なリポジトリを意味すると思います。

すべてのリポジトリのミラーがトリックを実行するので、ユーザーのsettings.xmlファイルでリポジトリを定義します。

  <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

      <mirrors>
        <mirror>
          <id>companyrepo</id>
          <url>http://localrepo.com/repo</url>
          <mirrorOf>*</mirrorOf>
        </mirror>
      </mirrors>
  </settings>

そうすれば、すべてのプロジェクトはSuper POMから継承されますが、Mavenはrepo1.maven.orgに接続しません。

于 2012-04-17T13:00:56.210 に答える
0

あなたが探しているのはMavenのオフラインモードです。コンソールを使用してMavenを呼び出す場合は、-oまたはオプションで有効にできます。--offline本当に常に有効にしたい場合は、に追加<offline>true</offline>してくださいsettings.xml

(理由で)オフラインモードを使用できない場合の最も極端なオプションは、centralidのリポジトリ定義を上書きすることです。例:

<repository>
  <id>central</id>
  <url>file://C:\tmprepo</url>
</repository>

オフラインモードベースのソリューションをお勧めします。清潔でクリアです。

于 2012-04-17T13:05:00.823 に答える
0

私の理解では、Super POMは、プロジェクトPOMによって明示的に提供されていない限り(たとえば、JavaのObjectクラスに少し似ている)、すべてのMavenPOMに広く使用されている機能を提供します。

そのため、パブリックリポジトリの使用を回避するために、POMで使用する(ローカル)リポジトリを指定できます。ただし、これを行うためのより良い方法は、settings.xmlファイルでローカルリポジトリを指定することです。これにより、ユーザー名/パスワードをソースコードリポジトリにコミットして手動で共有することなく、ローカルリポジトリをパスワードで保護できます。

于 2012-04-17T13:01:55.380 に答える