簡體   English   中英

使用分類器進行構建和工件時,Maven是否可以安裝POM?

[英]Can Maven install POM when building and artifact with classifier?

我有一個使用JAR打包的Maven項目。 當我運行安裝階段時,它將在我的本地存儲庫中同時安裝Project-1.0.jar和Project-1.0.pom文件。

現在,我希望使用分類器構建JAR。 這很容易:我只需將行添加到我的jar插件配置中:

  <plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
      <classifier>whatever</classifier>   
      [...]
    </configuration>
  </plugin>

現在,它的工作方式是在我的倉庫中安裝了Project-1.0-whatever.jar,但不再安裝POM。

萬一重要,我想將此功能與配置文件結合使用,即,我想用具有不同配置文件的不同分類器來構建JAR。

我想要POM的原因是因為我還有其他項目依賴於此項目。 當我構建其中的一個時,它將嘗試為此依賴項找到一個POM。 如果不能,它將愉快地使用JAR,但是由於以下幾個原因,這對我來說不是可接受的解決方案:

它會嘗試聯系外部存儲庫並尋找它已經很糟糕了,但是更糟糕的是,我們使用共享存儲庫,因此它將從共享存儲庫下載POM,這可能不是我想要的-例如,如果我只是對POM進行了更改,並正在嘗試對其進行測試。

有解決方案,還是有人可以提出合理的解決方法?

編輯:我剛剛發現該問題影響Maven 2.2.1,但不影響Maven 3.0.5。 因此,這可能是錯誤或版本之間的功能差異。 我仍然會對Maven 2的解決方案/變通辦法感興趣,因為將項目遷移到Maven 3是一件復雜的事情,不太可能發生。

事實證明,原因與Maven這樣的版本無關,與Maven-install-plugin的版本無關。 事實證明,2.3之前的版本存在此錯誤。

Maven的舊​​安裝可能會遇到此問題,因為Maven 2將使用它具有的任何版本的插件,除非在POM中明確指定了版本,但默認情況下已包含maven-install-plugin,並且很有可能一個POM根本不明確指定它(就像我的情況一樣)。

暫無
暫無

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

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