2013-07-22 26 views
1

当Maven尝试解决未在项目级别配置但在插件级别配置的依赖项时,Maven依赖关系存在问题。它始终来自maven central,不会检查我们的内部回购。Maven无法解决本地Nexus设置中的Proguard 4.9依赖关系

以下是pom配置。问题是,它总是会proguard的4.2版本在中央,即使我们已将其配置为ProGuard的4.9应该是fethcing了一个在我们的内部关系:

<plugin> 
      <groupId>com.pyx4me</groupId> 
      <artifactId>proguard-maven-plugin</artifactId> 
      <version>2.0.4</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals><goal>proguard</goal></goals> 
       </execution> 
      </executions> 
      <configuration> 
       <proguardVersion>4.9</proguardVersion> 
       <obfuscate>true</obfuscate> 
       <proguardInclude>conf/proguard_gsma-sms-validator.conf</proguardInclude> 
       <includeDependency>false</includeDependency> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>net.sf.proguard</groupId> 
        <artifactId>proguard</artifactId> 
        <version>4.9</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

林不知道这是否是Maven的问题或pyx4me问题或proguard。但我猜测这是Maven的问题。

这只能解决,如果我们做一个maven安装:安装文件到proguard版本4.9。但我们希望maven通过从我们内部的Nexus中获取一个来解决依赖关系。

请指教。谢谢。

回答

1

插件com.pyx4me:proguard-maven-plugin:2.0.4取决于net.sf.proguard:proguard:4.3,它由Pyx4me的开发者发起和维护。

然而,最近的ProGuard的版本都可以作为net.sf.proguard:proguard的基:4.2+及相关模块,如initiated by Marcel Patzlaff,目前由自己维护。

你可以在maven.org找到他们所有人的名单。请注意最新的版本号。 ProGuard本身应该仍然兼容,因此您可以尝试通过排除前者并添加后者来替换依赖项。

+0

我试过了,但是它仍然没有工作。它仍然会查找4.3 :( – xtrycatchx

+0

)您必须使用Maven的标记来抑制对4.3的依赖。 –