在每个工件的根(相对路径库根[的groupId]/[artifactId的])时,Maven希望找到一个行家-metadata.xml文件。它使用此文件来确定可用版本,最新版本和发布版本。
例如common-logging's metadata from repo1列出了所有可用的版本,并告诉我们发行版本是1.1.1为11月28日2008年
<?xml version="1.0" encoding="UTF-8"?><metadata>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<versioning>
<release>1.1.1</release>
<versions>
<version>1.0</version>
<version>1.0.1</version>
<version>1.0.2</version>
<version>1.0.3</version>
<version>1.0.4</version>
<version>1.1</version>
<version>1.1.1</version>
</versions>
<lastUpdated>20071128191817</lastUpdated>
</versioning>
</metadata>
Maven会下载每个远程仓库到本地存储库中的元数据(与名称maven-metadata- [回购名称] .xml),因此它可以检查可用版本,而无需每次都访问每个存储库。如果您想要强制Maven重新获取元数据,您可以使用命令行中的“-U”开关执行此操作。
如果您有自己的存储库,它需要发布此类元数据,以便Maven可以确定是否有任何版本可用是正确的。最简单的方法是使用像Nexus或Artifactory这样的资源库管理器,它将为您管理元数据。
感谢Rich,这是我的怀疑......需要确认 – Brabster 2009-07-21 09:49:10