Question

Je suis en train d'utiliser Subversion utilisant repo Maven wagon Maven . Si je déclare emplacement de capture instantanée en utilisant http comme protocole que je reçois 409 erreur de retour du serveur lorsque vous essayez de déployer (Déployez mvn clean)

<snapshotRepository>
        <uniqueVersion>false</uniqueVersion>
        <id>engtools_snapshots</id>
        <name>EngTools Maven Repository</name>
        <url>http://continuum.td.com/svn_repos/maven/snapshots</url>
</snapshotRepository>

Quand je change protocole à scm: svn: http les choses deviennent encore plus bizarre - je reçois plusieurs erreurs apparemment liées à domaine

<snapshotRepository>
        <uniqueVersion>false</uniqueVersion>
        <id>engtools_snapshots</id>
        <name>EngTools Maven Repository</name>
        <url>scm:svn:http://continuum.td.com/svn_repos/maven/snapshots</url>
</snapshotRepository>

configuration SCM

        <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-scm</artifactId>
            <version>1.0-beta-6</version>
        </extension>
        <extension>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-manager-plexus</artifactId>
            <version>1.3-SNAPSHOT</version>
        </extension>
        <extension>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-provider-svnexe</artifactId>
            <version>1.3-SNAPSHOT</version>
        </extension>
    </extensions>

stacktrace partielle résultant de (mvn déploiement)

[INFO] [deploy:deploy {execution: default-deploy}]
[INFO] Retrieving previous build number from engtools_snapshots
[FATAL ERROR] org.apache.maven.plugin.deploy.DeployMojo#execute() caused a 
linkage error (java.lang.AbstractMethodError) and may be out-of-date. Check 
the realms:
[FATAL ERROR] Plugin realm = 
app0.child-container[org.apache.maven.plugins:maven-deploy-plugin:2.4]
urls[0] = file:/C:/Documents and Settings/boo/.m2/repository/org/apache/
maven/plugins/maven-deploy-plugin/2.4/maven-deploy-plugin-2.4.jar
urls[1] = file:/C:/Documents and Settings/boo/.m2/repository/org/codehaus/
plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[FATAL ERROR] Container realm = plexus.core
urls[0] = file:/C:/java/apache-maven-2.2.0/bin/../lib/maven-2.2.0-uber.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.
executeCheckOutCommand(Lorg/apache/maven/scm/provider/ScmProviderRepository;
Lorg/apache/maven/scm/ScmFileSet;Lorg/apache/maven/scm/ScmVersion;)
Lorg/apache/maven/scm/command/checkout/CheckOutScmResult;
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.AbstractMethodError: org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.
executeCheckOutCommand(Lorg/apache/maven/scm/provider/ScmProviderRepository;
Lorg/apache/maven/scm/ScmFileSet;Lorg/apache/maven/scm/ScmVersion;)Lorg/apache/maven/scm/command/checkout/CheckOutScmResult;
 at org.apache.maven.scm.command.checkout.AbstractCheckOutCommand.executeCommand(
AbstractCheckOutCommand.java:49)
 at org.apache.maven.scm.command.AbstractCommand.execute(AbstractCommand.java:58)
Était-ce utile?

La solution

Si vous regardez le POM wagon-scm vous verrez qu'il a des dépendances sur les 1.0 versions des artefacts maven-scm-provider- *. Dans vos extensions section que vous avez référencent versions 1.3-snapshot.

A partir de la version 1.2 partir, la méthode executeCheckOutCommand () de AbstractCheckOutCommand n'est plus abstraite, au lieu qu'elle délègue à une autre méthode abstraite avec un paramètre supplémentaire recursive. En raison de ce changement, vous obtenez l'erreur de liaison.

La façon la plus simple pour y remédier est de changer les versions des extensions maven-scm-provider- * pour être compatibles avec celles requises par wagon-scm, à savoir changer les versions 1.3-snapshot pour 1.0 ou 1.1 versions.

Il est intéressant de souligner Je pense que l'utilisation d'un système SCM pour héberger votre repository est pas vraiment une bonne idée, en particulier pour des artefacts snapshots. Au lieu de cela, je vous recommande d'utiliser un gestionnaire de dépôt , ils fournissent beaucoup de fonctionnalités utiles sur l'hébergement des artefacts.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top