J'ai créé un archétype de travail pour un projet Vaadin/Hibernate/Spring. Je peux installer cet archétype dans mon référentiel local et l'utiliser pour générer de nouveaux projets maven.
Maintenant, je souhaite déployer l'archétype dans le référentiel interne de mon entreprise afin qu'il puisse être utilisé par d'autres développeurs. Cependant, lorsque j'exécute mvn deploy
, je reçois le message d'erreur suivant:
[ERROR] Failed to execute goal org.Apache.maven.plugins:
maven-deploy-plugin:2.7:deploy (default-deploy) on project
vaadin-hibernate-archetype: Failed to deploy artifacts/metadata:
No connector available to access repository maven.planet-ic.de
(maven.planet-ic.de/planet-ic-releases) of type default using the
available factories WagonRepositoryConnectorFactory -> [Help 1]
Quelle est la connector
qui me manque?
EDIT: Je ne demande pas à quelqu'un de résoudre mon problème, mais un aperçu de ce qu'est le 'connector'
.
Voici mon pom.xml si cela devrait vous intéresser:
<?xml version="1.0" encoding="UTF-8"?>
<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>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<groupId>de.planetic.maven.archetype.vaadin</groupId>
<artifactId>vaadin-hibernate-archetype</artifactId>
<version>1.1.0</version>
<packaging>jar</packaging>
<inceptionYear>2013</inceptionYear>
<description>
This archetype generates a Vaadin application for use with Hibernate, and to be deployed to a Tomcat 7 server. It may also work with other Tomcat versions and other servers.
</description>
<developers>
<developer>
<name>Maximilian Friedersdorff</name>
<email>[email protected]</email>
</developer>
</developers>
<scm>
<connection>scm:svn:http://Subversion.planet-ic.de/internal/maven/archetype/pinnwand-webapp/tags/pinnwand-webapp-archetype-1.1.0</connection>
<developerConnection>scm:svn:http://Subversion.planet-ic.de/internal/maven/archetype/pinnwand-webapp/tags/pinnwand-webapp-archetype-1.1.0</developerConnection>
<url>http://Subversion.planet-ic.de/internal/maven/archetype/pinnwand-webapp/tags/pinnwand-webapp-archetype-1.1.0</url>
</scm>
<distributionManagement>
<repository>
<id>maven.planet-ic.de</id>
<name>planet-ic-releases</name>
<url>maven.planet-ic.de/planet-ic-releases</url>
</repository>
<snapshotRepository>
<id>maven.planet-ic.de</id>
<name>planet-ic-snapshots</name>
<url>http://maven.planet-ic.de/planet-ic-snapshots</url>
</snapshotRepository>
</distributionManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</pluginManagement>
<extensions>
<extension>
<groupId>org.Apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.4</version>
</extension>
</extensions>
</build>
</project>
Selon le référentiel Maven que vous essayez de déployer, différentes méthodes sont disponibles pour télécharger vos artefacts.
Ces méthodes sont mises en œuvre à l'aide de Maven Wagon connecteurs pour différents protocoles de transport (par exemple, ssh, dav, etc.), c'est le terme que vous recherchez.
Apache Maven - Guide d’utilisation des extensions vous explique comment ajouter des connecteurs à votre configuration.
Dans la ligne suivante:
<url>maven.planet-ic.de/planet-ic-releases</url>
Vous devez ajouter le préfixe "file: //", car vous devez indiquer à maven que vous utilisez un connecteur de fichier, pas ftp, http ou autre chose. Et vous feriez mieux d'utiliser un chemin relatif. Par exemple:
<url>file://${project.basedir}/maven.planet-ic.de/planet-ic-releases/</url>
<build>
<extensions>
<extension>
<groupId>org.Apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.4</version>
</extension>
</extensions>
</build>
<distributionManagement>
<repository>
<id>remoteserver</id>
<name>MyCompany Repository</name>
<url>scp://server/path/repo</url>
</repository>