Maven:如何设置我的pom。xml,以便它可以通过HTTP获取依赖关系,并通过FTP部署模块
-
21-12-2019 - |
题
我在设置pom。我的一个项目的xml。而且我无法弄清楚如何让它通过HTTP获取依赖关系,而是通过FTP部署新的工件。
情况是这样的。我有一个多模块项目,我正在与其他人合作。我也碰巧租了一个便宜的web服务器,可以让我通过maven存储库共享我的一些模块的发布和快照版本。
我希望部署到存储库进行身份验证(以便只有授权的人才能写入它),并通过FTP完成。
另一方面,我希望每个人都能够通过HTTP匿名下载工件的发布版本。
到目前为止,我发现的唯一一件事是将以下部分添加到我的pom中。xml
<distributionManagement>
<snapshotRepository>
<id>my.repo.snapshots</id>
<name>My Repository - Snapshots</name>
<url>${url}/snapshots</url>
</snapshotRepository>
<repository>
<id>my.repo.releases</id>
<name>My Repository - Releases</name>
<url>${url}/releases</url>
</repository>
</distributionManagement>
这个设置的问题是,它不让我选择FTP上传和HTTP下载。
有什么办法可以配置我的pom。xml来做到这一点?
解决方案
结果解决方案就在我眼皮底下。部署工件的存储库确实是通过 <distributionManagement/>
, ,但获取工件的存储库是通过 <repositories>
元素在 <profiles>
节。
我的工作pom。xml配置现在包括:
<distributionManagement>
<repository>
<id>deploy.releases</id>
<name>Repository - Releases</name>
<url>ftp://ftp.domain.com/releases/</url>
</repository>
<snapshotRepository>
<id>deploy.snapshots</id>
<name>Repository - Snapshots</name>
<url>ftp://ftp.domain.com/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<profiles>
<profile>
<id>project.default</id>
<activation>
<property>
<name>!skipProjectDefaultProfile</name>
</property>
</activation>
<repositories>
<repository>
<id>repo.releases</id>
<url>http://maven.domain.com/releases/</url>
</repository>
<repository>
<id>repo.snapshots</id>
<url>http://maven.domain.com/snapshots/</url>
</repository>
</repositories>
</profile>
</profiles>
最重要的是,我的设置。xml包含FTP的身份验证信息
<servers>
<server>
<id>deploy.releases</id>
<username>user</username>
<password>pass</password>
</server>
<server>
<id>deploy.snapshots</id>
<username>user</username>
<password>pass</password>
</server>
</servers>
不隶属于 StackOverflow