2013-08-15 12 views
10

Ich habe einen Arbeitsmaven-Archetyp für ein Vaadin/Hibernate/Spring-Projekt erstellt. Ich kann diesen Archetyp in meinem lokalen Repository installieren und damit neue Maven-Projekte generieren.Connector für die Maven-Bereitstellung?

Jetzt möchte ich den Archetyp in meinem Unternehmen internen Repository bereitstellen, so dass es möglicherweise von anderen Entwicklern verwendet werden kann. Allerdings, wenn ich mvn deploy laufen erhielt ich folgende Fehlermeldung:

[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, dass ich fehle?

EDIT: ich frage nicht für jemanden, der mein Problem zu lösen, nur einen kleinen Einblick, was die '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> 
+0

keine relevante Strophe aus dem 'pom.xml' bedeutet keine Hilfe –

+1

@JarrodRoberson Wie gesagt: Ich kann nicht für die Hilfe bei meinem speziellen Problem suchen, sondern um eine Erklärung darüber, was die‚Stecker ist es. – maxf130

+0

@ DB5 Wow! Netter Schnitt. Wie hast du das gemacht? – maxf130

Antwort

11

Je nach Maven-Repository zu implementieren Sie versuchen, gibt es verschiedene Methoden zur Verfügung, um Ihre Artefakte zu laden.

Diese Methoden werden mit Maven Wagon Konnektoren für verschiedene Transportprotokolle (z. B. ssh, dav usw.) implementiert, das ist der Begriff, den Sie suchen.

Apache Maven Guide to using Extensions gibt Ihnen eine Einführung, wie Anschlüsse zu Ihrem Setup hinzufügen.

+1

@Torten Danke, das ist genau das, was ich gesucht habe. Danke, dass Sie mich in die richtige Richtung weisen. – maxf130

0
<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

Das ist SCP, nicht SFTP. – mirabilos

1

In der folgenden Zeile:

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

Sie müssen Präfix "file: //" hinzuzufügen, da Sie Sie File Connector Maven sagen müssen nicht ftp verwenden, http oder etwas anderes. Und Sie sollten den relativen Pfad dort besser verwenden. Zum Beispiel:

<url>file://${project.basedir}/maven.planet-ic.de/planet-ic-releases/</url> 
+0

Dies war kein Datei-Repository – maxf130

+0

Muss immer noch eine korrekte URL sein. War eine nützliche Bemerkung zu mir – user1767316