web-dev-qa-db-fra.com

Les dépendances Maven ne peuvent pas être résolues

J'utilise Apache Maven3 et depuis deux ou trois jours, certaines dépendances ne peuvent plus être résolues, ce qui n’a d’abord eu aucun problème. Pour être plus précis sa:

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

Ne devraient-ils pas être inclus par Maven lui-même?

Mon fichier 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>

Dans mon IDE (Suite d'outils Springsource), l'avertissement suivant s'affiche Warning of IDE

Lorsque je fais quelque chose comme "Compilation mvn" dans mon shell, l'erreur suivante se produit:

[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

Quand j'insère les plugins mentionnés ci-dessous et que je fais mvn site, le message d'erreur suivant apparaît:

[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

Toute aide est hautement appréciée.

10
Nikolaus Hartlieb

Vous devriez ajouter ces deux plugins à votre pom.

Pour cobertura, voir cette page .

Pour findbugs, voir cette page .

----- MIS À JOUR -----

OK, j'ai trouvé le problème. Il semble que vous dépendiez de jdom 1.1.2, qui dépend de jaxen 1.1.3 dont l'artefact est endommagé.

Vous pouvez soit essayer une autre version de jdom, soit ajouter à votre pom l'instantané décrit dans ce site . Travaillé pour moi quand j'ai exécuté votre pom sur mon PC. J'ai copié l'instantané:

<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>
24
yair

Pour ceux qui essaient de le réparer avec Ivy. Celui-ci a fonctionné pour moi:

<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>
3
marfnk

Regardez dans votre référentiel local (normaly in <home>/.m2), où les artefacts devraient être. Vous y trouverez des fichiers <artifactname>.lastUpdated. supprimez-les et réessayez.

Les artefacts n'ont peut-être pas été chargés en raison de problèmes de réseau et ne sont même plus vérifiés.

0
Jens Schauder

Vous pouvez utiliser l'éditeur POM dans Eclipse pour afficher le graphique de dépendance. Cela a rapidement montré que jaxen-1.1.3 incluait d'anciennes dépendances maven1. Eclipse propose même de les exclure sur place. Agréable.

0
Gabor