簡體   English   中英

Maven2如何知道在哪里找到插件?

[英]How does Maven2 know where to find plugins?

我正在使用Maven2,我似乎無法在我的存儲庫中找到任何插件。 我得到的錯誤就像

存儲庫元數據:'org.apache.maven.plugins'無法在存儲庫中找到:myrepo

其中myrepo是我的存儲庫的名稱。

我的問題是Maven如何知道在哪里找到插件? 我的錯誤中有一個對元數據的引用,預期元數據在哪里以及必須采用什么格式? 到目前為止,我沒有太多運氣尋找文件......

(我對使用中央倉庫的簡單答案不感興趣,我想知道為什么myrepo不起作用。)

謝謝!

在每個工件的根目錄(存儲庫根目錄[groupId] / [artifactId]的相對路徑)中,Maven期望找到maven-metadata.xml文件。 它使用此文件來確定可用版本,最新版本和已發布版本。

例如,repo1中的common-logging元數據列出了所有可用版本,並告訴我們截至2008年11月28日發布版本為1.1.1。

<?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- [repo name] .xml),這樣它就可以檢查可用的版本,而無需每次都訪問每個存儲庫。 如果要強制Maven重新獲取元數據,可以使用命令行上的“-U”開關執行此操作。

如果您有自己的存儲庫,則需要發布此類元數據,以便Maven可以確定是否有任何版本可用。 最簡單的方法是使用像NexusArtifactory這樣的存儲庫管理器,它將為您管理元數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM