web-dev-qa-db-de.com

Connector für Maven-Bereitstellung?

Ich habe einen funktionierenden Maven-Archetyp für ein Vaadin/Hibernate/Spring-Projekt erstellt. Ich kann diesen Archetyp in mein lokales Repository installieren und damit neue Maven-Projekte generieren.

Jetzt möchte ich den Archetyp für das interne Repository meines Unternehmens bereitstellen, damit er möglicherweise von anderen Entwicklern verwendet wird. Beim Ausführen von mvn deploy wird jedoch die folgende Fehlermeldung angezeigt:

[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]

Was ist die connector die mir fehlt?

BEARBEITEN: Ich bitte niemanden, mein Problem zu lösen, sondern nur um einen Einblick, was der 'connector' ist.

Hier ist meine pom.xml, wenn es von Interesse sein sollte:

<?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>
10
maxf130

Abhängig von dem Maven-Repository, für das Sie bereitstellen möchten, stehen verschiedene Methoden zum Hochladen Ihrer Artefakte zur Verfügung.

Diese Methoden werden mithilfe von Maven Wagon Connectors für verschiedene Transportprotokolle (z. B. ssh, dav usw.) implementiert. Dies ist der Begriff, den Sie suchen.

Apache Maven-Handbuch zur Verwendung von Erweiterungen gibt Ihnen eine Einführung in das Hinzufügen von Connectors zu Ihrem Setup.

11
Torsten

In der folgenden Zeile:

<url>maven.planet-ic.de/planet-ic-releases</url>

Sie müssen das Präfix "file: //" hinzufügen, weil Sie maven mitteilen müssen, dass Sie den Dateiconnector verwenden, nicht ftp, http oder etwas anderes. Und Sie sollten dort den relativen Pfad verwenden. Zum Beispiel:

<url>file://${project.basedir}/maven.planet-ic.de/planet-ic-releases/</url>
2
shifu.zheng
 <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>

0
ashok dethe