2011-12-04 275 views
10

我正在使用Apache Maven3並且由於兩三天的某些依賴關係無法解決,因此首先沒有問題。更具體的:Maven無法解決的依賴關係

  1. maven-findbgs-plugin:plugin:1.3.1
  2. maven-cobertura-plugin:plugin:1.3

難道他們不應該被行家本身包括在內?

pom.xml文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <artifactId>xyz</artifactId> 
    <name>xyz</name> 
    <description>xyz</description> 
    <repositories> 
     <repository> 
     <id>prime-repo</id> 
     <name>PrimeFaces Maven Repository</name> 
     <url>http://repository.primefaces.org</url> 
     <layout>default</layout> 
    </repository> 
    </repositories> 
    <dependencies> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>${springframework-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.webflow</groupId> 
     <artifactId>spring-faces</artifactId> 
     <version>${springwebflow-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>${springsecurity-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>${springsecurity-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>${springsecurity-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>${org.slf4j-version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>jcl-over-slf4j</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>${org.slf4j-version}</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.inject</groupId> 
     <artifactId>javax.inject</artifactId> 
     <version>1</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>2.5</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet.jsp</groupId> 
     <artifactId>jsp-api</artifactId> 
     <version>2.1</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <!-- Communication to PowerTAC Server --> 

     <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.thoughtworks.xstream</groupId> 
     <artifactId>xstream</artifactId> 
     <version>1.4.1</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
    <groupId>javax.jms</groupId> 
    <artifactId>jms-api</artifactId> 
    <version>1.1-rev-1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.activemq</groupId> 
    <artifactId>activemq-all</artifactId> 
    <version>5.5.1</version> 
</dependency> 
<dependency> 
    <groupId>activecluster</groupId> 
    <artifactId>activecluster</artifactId> 
    <version>20040423.075722</version> 
</dependency> 
<dependency> 
    <groupId>xmlbeans</groupId> 
    <artifactId>xbean</artifactId> 
    <version>2.0.0</version> 
</dependency> 
<dependency> 
    <groupId>javacc</groupId> 
    <artifactId>javacc</artifactId> 
    <version>4.0</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jms</artifactId> 
    <version>3.0.6.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>commons-httpclient</groupId> 
    <artifactId>commons-httpclient</artifactId> 
    <version>3.1</version> 
</dependency> 
<dependency> 
    <groupId>org.jboss.spec.javax.ws.rs</groupId> 
    <artifactId>jboss-jaxrs-api_1.1_spec</artifactId> 
    <version>1.0.0.Final</version> 
</dependency> 
<dependency> 
    <groupId>org.jdom</groupId> 
    <artifactId>jdom</artifactId> 
    <version>1.1.2</version> 
</dependency> 




    <!-- Sun Mojarra JSF 2 runtime --> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>2.0.3</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.0.3</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.0.2.GA</version> 
    </dependency> 
     <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.3.2.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-annotations</artifactId> 
     <version>3.4.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>3.3.0.ga</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>3.4.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.7</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>javax.ejb</groupId> 
     <artifactId>ejb-api</artifactId> 
     <version>3.0</version> 
    </dependency> 
     <!-- PrimeFaces component library --> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.powertac</groupId> 
     <artifactId>server-interface</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 
    </dependencies> 
    <packaging>war</packaging> 
    <properties> 
    <java-version>1.5</java-version> 
    <springframework-version>3.0.5.RELEASE</springframework-version> 
    <springwebflow-version>2.3.0.RELEASE</springwebflow-version> 
    <springsecurity-version>3.0.3.RELEASE</springsecurity-version> 
    <org.slf4j-version>1.5.10</org.slf4j-version> 
    </properties> 
    <groupId>org.powertac</groupId> 
    <version>0.0.1-SNAPSHOT</version> 
</project> 

在我的IDE(SpringSource工具套件)我得到以下警告 Warning of IDE

當我做這樣的事情 「MVN編譯」 我的殼下面出現錯誤:

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building xcz 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[WARNING] The artifact javacc:javacc:jar:4.0 has been relocated to net.java.dev. 
javacc:javacc:jar:4.0 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.193s 
[INFO] Finished at: Sun Dec 04 10:11:47 CET 2011 
[INFO] Final Memory: 9M/160M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal on project xyz: Could not resolve depend 
encies for project xyz:war:0.0.1-SNAPSHOT: The following a 
rtifacts could not be resolved: maven-plugins:maven-cobertura-plugin:plugin:1.3, 
maven-plugins:maven-findbugs-plugin:plugin:1.3.1, Failure to find maven-plugins:maven-cobertura-plugin:plugin 
:1.3 in http://repository.primefaces.org was cached in the local repository, res 
olution will not be reattempted until the update interval of prime-repo has elap 
sed or updates are forced -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit 
ch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please rea 
d the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyReso 
lutionException 

當我插入下面提到的插件,做mvn site噸他會出現以下錯誤消息:

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building xyz 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
Downloading: http://repo1.maven.org/maven2/org/primefaces/primefaces/2.2.1/prime 
faces-2.2.1.pom 
[WARNING] The POM for org.primefaces:primefaces:jar:2.2.1 is missing, no depende 
ncy information available 
[WARNING] The artifact javacc:javacc:jar:4.0 has been relocated to net.java.dev. 
javacc:javacc:jar:4.0 
Downloading: http://repo1.maven.org/maven2/org/primefaces/primefaces/2.2.1/prime 
faces-2.2.1.jar 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.609s 
[INFO] Finished at: Sun Dec 04 10:35:51 CET 2011 
[INFO] Final Memory: 9M/160M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal on project xyz: Could not resolve depend 
encies for project xyz:war:0.0.1-SNAPSHOT: The following a 
rtifacts could not be resolved: maven-plugins:maven-cobertura-plugin:plugin:1.3, 
maven-plugins:maven-findbugs-plugin:plugin:1.3.1, org.primefaces:primefaces:jar 
:2.2.1: Failure to find maven-plugins:maven-cobertura-plugin:plugin:1.3 in http: 
//repo1.maven.org/maven2 was cached in the local repository, resolution will not 
be reattempted until the update interval of central has elapsed or updates are 
forced -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit 
ch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please rea 
d the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyReso 

任何幫助都被高度關注。

+0

嗯,不,沒有什麼是自動包括在內。發佈您的pom.xml可能會有用。在執行哪個操作時,您會得到什麼錯誤? – yair

+0

@yair我更新了我的描述。希望現在已經足夠了...的 –

+0

可能重複[Maven的失敗中找到了Maven插件:Maven的的Cobertura-插件(http://stackoverflow.com/questions/8295458/maven-failure-to-find-maven-pluginsmaven-cobertura-plugin) – Mark

回答

24

您應該將這兩個插件添加到您的pom。

對於cobertura,請參閱this page

對於findbugs,請參見this page

----- UPDATED -----

好的,我發現了這個問題。看來你依賴jdom 1.1.2,這取決於jaxen 1.1.3的哪個artifact被破壞。

您可以嘗試使用另一個jdom版本,或者將this site中描述的快照添加到您的pom中。當我在PC上運行你的POM時爲我工作。我複製了快照:

<dependency> 
    <groupId>jaxen</groupId> 
    <artifactId>jaxen</artifactId> 
    <version>1.1.3</version> 
    <!-- http://jira.codehaus.org/browse/JAXEN-217 --> 
    <exclusions> 
    <exclusion> 
     <groupId>maven-plugins</groupId> 
     <artifactId>maven-cobertura-plugin</artifactId> 
    </exclusion> 
    <exclusion> 
     <groupId>maven-plugins</groupId> 
     <artifactId>maven-findbugs-plugin</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 
+0

我已經包括了他們,但沒有成功。我用錯誤信息更新了上面的描述。 –

+0

查看我的答案更新。 – yair

0

查看您的本地存儲庫(normaly in <home>/.m2),其中工件應該位於此處。你會在那裏找到<artifactname>.lastUpdated文件。刪除這些並再試一次。

可能由於網絡問題,工件未能加載,現在甚至沒有檢查。

+0

不幸這並不成功。我刪除了這些文件並更新了我的IDE中的項目配置。這些文件被重新創建,但錯誤信息仍然存在。任何其他想法? –

+0

當你過去的URL行家在您的瀏覽器正在訪問您能得到什麼? –

0

您可以在Eclipse中使用POM編輯器查看依賴關係圖。它很快向我展示了jaxen-1.1.3包含了舊的maven1依賴關係。 Eclipse甚至可以當場排除它們。尼斯。

3

對於那些試圖用艾維修復它。這一個爲我工作:

<dependency org="jaxen" name="jaxen" rev="1.1.4"/> 
<dependency org="net.sourceforge.cobertura" name="cobertura" rev="1.9.4.1"/> 
<dependency org="com.google.code.findbugs" name="findbugs" rev="2.0.1"/> 
<dependency org="org.jdom" name="jdom" rev="2.0.2"> 
    <exclude module="jaxen"/> 
    <exclude name="maven-cobertura-plugin"/> 
    <exclude name="maven-findbugs-plugin"/> 
</dependency>