0

FTPを使用してWebサーバーにmavenリポジトリをセットアップしました。

展開は期待どおりに機能しますが、サブモジュールをインストールしようとすると、間違った場所からダウンロードしようとしているため、Web サーバー上のファイルが見つかりません。

スナップショット用のフォルダーとリリース用のフォルダーを使用して Maven リポジトリをセットアップしました。

/ftp-dir/
  releases/
  snapshots/

ルート pom ファイルには、distributionManagement が含まれています。

<distributionManagement>
    <repository>
    <id>repo-id</id>
        <url>ftp://my-ftp/releases</url>
    </repository>
<snapshotRepository>
    <id>develman.repository</id>
    <url>ftp://my-ftp/snapshots</url>
</snapshotRepository>
</distributionManagement>

-SNAPSHOT バージョンで mvn deploy を実行すると、期待どおりにファイルがスナップショット ディレクトリにデプロイされます。

しかし、ローカル リポジトリを削除してサブモジュールをインストールしようとすると、maven はアーティファクトを見つけることができません。私のsettings.xmlは次のようになります:

<servers>
    <server>
        <id>repo-id</id>
        <username>username</username>
        <password>password</password>
    </server>
</servers>


<profiles>
    <profile>
        <id>default</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
            <repositories>
        <repository>
            <id>repository-id</id>
            <name>my repository</name>
                    <url>http://my-website-address.com</url>
            <layout>default</layout>
            <releases>
            <enabled>false</enabled>
            <updatePolicy>never</updatePolicy>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
        </snapshots>
        </repository>
        </repositories>
    </profile>
</profiles>

aven はhttp://my-website-address.com/ ...からダウンロードしようとしますが、期待どおりhttp://my-website-address.com/snapshotsからではありません。

私の問題は何ですか?

4

1 に答える 1

1

リポジトリの定義を 2 つの別々のリポジトリ (スナップショット用に 1 つ、リリース用に 1 つ) に変更する必要がありました。

<profiles>
    <profile>
        <id>default</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>repository-release-id</id>
                <name>my release repository</name>
                <url>http://my-website-address.com/releases</url>
                <layout>default</layout>
                <releases>
                    <enabled>false</enabled>
                    <updatePolicy>never</updatePolicy>
                </releases>
            </repository>
            <repository>
                <id>repository-snapshot-id</id>
                <name>my snapshot repository</name>
                <url>http://my-website-address.com/snapshots</url>
                <layout>default</layout>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>never</updatePolicy>
                </snapshots>
            </repository>
        </repositories>
    </profile>
</profiles>
于 2013-03-23T00:47:08.110 に答える