0

我已经使用 FTP 在我的网络服务器上设置了一个 Maven 存储库。

部署按预期工作,但是当我想安装子模块时,它在网络服务器上找不到文件,因为它试图从错误的位置下载。

我已经为 maven repo 设置了一个用于快照的文件夹和一个用于发布的文件夹:

/ftp-dir/
  releases/
  snapshots/

根 pom 文件具有以下分布管理:

<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

我不得不将我的存储库定义更改为两个单独的存储库(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 回答