2012-11-14 161 views
0

我有一個插件依賴問題。Maven2插件依賴關係

我想使用「proguard-maven-plugin」,但默認情況下這個插件使用proguard 4.3。 Proguard 4.3不支持jdk 7.

要解決我的問題,我只需要使用proguard 4.6+。 Buuut,中央回購的最新版本是4.4。我可以手動從proguard回購下載proguard 4.6+,但我如何將它包含到插件?


我有我自己的nexus回購,我把proguard 4.8在那裏。我如何從我的回購加載「proguard-maven-plugin」的依賴關係?

我在那裏寫了:http://www.sonatype.com/people/2008/04/how-to-override-a-plugins-dependency-in-maven/,但maven尋找proguard 4.8在中央回購。我怎樣才能強迫我自己的回購Maven搜索?

對不起我可怕的英語,我希望你能理解我。

+0

如何從您的內部聯繫回購? – jtahlborn

回答

0

您必須在您的主文件夾(以及運行Maven作業的每個用戶的主文件夾)中編輯文件.m2/settings.xml。您必須按照here所述將Nexus添加爲存儲庫。基本上配置看起來像這樣:

<settings> 
    ... 
    <mirrors> 
    <mirror> 
     <id>mynexus</id> 
     <name>My Nexus</name> 
     <url>http://mynexusurl</url> 
     <mirrorOf>*</mirrorOf> 
    </mirror> 
    </mirrors> 
    ... 
</settings> 

此外,你必須配置你的Nexus鏡像中央回購。

0

也許這也將幫助,我不使用它,但這是配置的改變依賴

<plugin> 
    <artifactId>proguard-maven-plugin</artifactId> 
    <version>2.0.4</version> 
    <dependencies> 
     <dependency> 
      <groupId>net.sf.proguard</groupId> 
      <artifactId>proguard</artifactId> 
      <version>4.6</version> 
     </dependency> 
    </dependencies> 
</plugin> 

而且螞蟻運行實例的形式

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <dependencies> 
     <dependency> 
      <groupId>ant-contrib</groupId> 
      <artifactId>ant-contrib</artifactId> 
      <version>1.0b2</version> 
      <exclusions> 
       <exclusion> 
        <groupId>ant</groupId> 
        <artifactId>ant</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.ant</groupId> 
      <artifactId>ant-nodeps</artifactId> 
      <version>1.8.1</version> 
     </dependency> 
    </dependencies> 
</plugin> 

還請注意! for maven2 - 已解決的問題maven3 http://jira.codehaus.org/browse/MNG-1323
對於多模塊反應器構建插件的依賴項,首次使用該插件時解析該插件。如果您的依賴關係沒有在reactor build中下載,但在單個模塊中可以正常工作,那麼您可能需要將其包含在較早的項目中 - 通過添加到共享父項的插件管理最容易完成