在<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>
答案 0 :(得分:6)
分销管理
分配管理就像听起来一样:它管理着 分发整个生成的工件和支持文件 构建过程。首先从最后一个元素开始:
<强>存储库强>
存储库元素在POM中指定位置的位置 以及Maven可以下载远程工件以供其使用的方式 当前项目,distributionManagement指定这个(以及如何)的位置 部署时,项目将到达远程存储库。该 如果存储库元素将用于快照分发 snapshotRepository未定义。
使用存储库布局进行部署
要使用maven布局部署文件,您应该定义分发管理位置:
<project>
...
<distributionManagement>
<repository>
<id>myrepository</id>
<url>file:D:/repository/</url>
</repository>
</distributionManagement>
</project>
然后,您只需执行以下命令即可在文件系统位置复制工件
Maven命令在本地文件系统中部署文件
mvn deploy
网站分发
分发到存储库不仅仅是分发管理 负责定义如何部署项目的站点和 文档。
在pom.xml
中,配置在distributionManagement
代码中部署网站的位置。
<distributionManagement>
<site>
<id>mkyongserver</id>
<url>dav:http://127.0.0.1/sites/</url>
</site>
</distributionManagement>
<强>重定位强>
项目不是静态的;他们是生物(或死亡的东西,如 案件可能是)。随着项目的发展,常见的事情是 他们被迫搬到更合适的地方。例如, 当你的下一个非常成功的开源项目移动到 阿帕奇伞,最好让你的用户作为单挑 该项目正在重命名为org.apache:my-project:1.0。除了 指定新地址,它也是提供消息的好形式 解释原因。
<强>存储库强>
存储库是遵循Maven的工件集合 存储库目录布局。为了成为Maven存储库 工件,POM文件必须存在于结构中 $ BASE_REPO /的groupId / artifactId的/版本/ artifactId的-version.pom。 $ BASE_REPO可以是本地(文件结构)或远程(基本URL);该 剩下的布局将是一样的。存储库作为一个地方存在 收集和存储工件。每当项目依赖于 一个神器,Maven将首先尝试使用本地副本 指定的工件。如果该工件在本地不存在 然后,它将尝试从远程存储库下载。 POM中的存储库元素指定那些备用元素 要搜索的存储库。
存储库是Maven最强大的功能之一 社区。默认的中央Maven存储库依然存在 http://repo.maven.apache.org/maven2/。文物的另一个来源不是 但在iBiblio中是Codehaus快照回购。
请记住,您只能在<repository>
<snapshotRepository>
和一个<distributionManagement>
子项
如何申报代理
转到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>