在<DistributionManagement> ... </DistributionManagement> and <Repositories> ... <Repositories>部分中,可以有一个
<Repository> ... </Repository>定义。这两个定义有什么区别?这是一个例子:
<distributionManagement>
<downloadUrl>https://github.com/marytts/marytts/releases</downloadUrl>
<repository>
<id>bintray</id>
<url>https://api.bintray.com/maven/marytts/marytts/marytts</url>
</repository>
<snapshotRepository>
<id>bintray</id>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url>
</snapshotRepository>
</distributionManagement>和
<repositories>
<repository>
<id>marytts-dependencies</id>
<name>marytts-dependencies</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>file://${project.local.repository.path}</url>
</repository>
<repository>
<id>central</id>
<name>jcenter</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>http://jcenter.bintray.com</url>
</repository>
</repositories>发布于 2015-09-11 05:19:54
分销管理
分发管理的作用就像它听起来的那样:它管理工件的分发和支持在整个构建过程中生成的文件。首先从最后一个元素开始:
仓库
正如存储库元素在POM中所指定的,Maven可以下载远程构件供当前项目使用的位置和方式,distributionManagement指定在部署该项目时该项目将在何处(以及如何)到达远程存储库。如果未定义snapshotRepository,则存储库元素将用于快照分发。
使用存储库布局的部署
要使用maven布局部署文件,应该定义分发管理位置:
<project>
...
<distributionManagement>
<repository>
<id>myrepository</id>
<url>file:D:/repository/</url>
</repository>
</distributionManagement>
</project> 然后,只需执行以下命令,就可以在文件系统位置复制工件
命令在本地文件系统中部署文件。
mvn deploy站点分布
除了分发到存储库之外,distributionManagement还负责定义如何部署项目的站点和文档。
在pom.xml中,配置在distributionManagement标记中部署站点的位置。
<distributionManagement>
<site>
<id>mkyongserver</id>
<url>dav:http://127.0.0.1/sites/</url>
</site>
</distributionManagement>重定位
项目不是静态的;它们是有生命的东西(或死亡的东西,视情况而定)。一个常见的事情发生在项目的增长,是他们被迫搬到更合适的地方。例如,当您的下一个非常成功的开源项目在Apache的保护伞下运行时,最好让您的用户知道该项目正被重命名为org.apache:my- project :1.0。除了指定新地址外,提供解释原因的信息也是很好的形式。
Repositories
存储库是遵循Maven存储库目录布局的工件的集合。为了成为Maven存储库工件,POM文件必须驻留在结构$BASE_REPO/groupId/artifactId/version/artifactId-version.pom.中。$BASE_REPO可以是本地的(文件结构)或远程的(基本URL);其余的布局将是相同的。存储库作为收集和存储工件的场所存在。每当项目依赖于工件时,Maven将首先尝试使用指定工件的本地副本。如果本地存储库中不存在该工件,则它将尝试从远程存储库下载。POM中的存储库元素指定要搜索的备用存储库。 存储库是Maven社区最强大的特性之一。默认的中央Maven存储库位于http://repo.maven.apache.org/maven2/上。尚未在iBiblio中使用的工件的另一个来源是Codehaus快照回购。
请记住,您只能在<repository>中添加一个<snapshotRepository>和一个<snapshotRepository>子级
如何声明代理
只需转到Maven-> conf-> setting.xml文件并添加代理
<proxies>
<proxy>
<id>myproxy</id>
<active>true</active>
<protocol>http</protocol>
<host>global.proxy.mycompany.com</host>
<port>8000</port>
<username></username>
<password></password>
<nonProxyHosts>localhost,127.0.0.1</nonProxyHosts>
</proxy>
</proxies>https://stackoverflow.com/questions/32515410
复制相似问题