Verwenden Sie eine lokale CQ5-Instanz als Maven-Repository-Quelle für die Entwicklung, anstatt ein Day-Maven-Repository zu verwenden.

Hinweis:

Diese Methode wird offiziell nicht unterstützt.

Lösung

  1. Installieren Sie das cq5-archiva-servlet-1.6.zip. (Das Laden auf CQ5.2.1 kann möglicherweise scheitern, aber sie können die Meldung ignorieren und dann installieren.)

  2. Konfigurieren Sie Ihr Projekt pom.xml, um Ihre lokale CQ5-Instanz als Maven-Repository zu verwenden.

    <repositories>
    <repository>
    <id>localinstance</id>
    <name>CQ5.x localinstance</name>
    <url>http://localhost:4502/maven/repository</url>
    <releases>
    <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
    </repository>
    </repositories>
    <pluginRepositories>
    <pluginRepository>
    <id>localinstance</id>
    <name>CQ5.x localinstance</name>
    <url>http://localhost:4502/maven/repository</url>
    <releases>
    <enabled>true</enabled>
    </releases>
    <snapshots>
    <enabled>true</enabled>
    </snapshots>
    </pluginRepository>
    </pluginRepositories>

     

  3. Darüber hinaus können Sie Folgendes als Eltern-Abhängigkeit verwenden:

        <parent>
    <groupId>com.day</groupId>
    <artifactId>cq5-parent</artifactId>
    <version>5.6.0</version> (wenn Ihre Instanz beispielsweise eine 5.6.0 ist)
    </parent>

    Die groupId/artifactId kann mit der Sling-Konfiguration konfiguriert werden, und die Version ist nicht wichtig. (Sinnvoll ist aber die Verwendung nach Ziel, z.B. 5.2.1 / 5.3 / 5.4).

  4. Fügen Sie in Ihrer .m2/settings.xml die folgenden Zeilen hinzu, um das Login/Passwort zu definieren:

    <server>
    <id>localinstance</id>
    <username>admin</username>
    <password>admin</password>
    </server>

  5. Zusätzlich können Sie Ihr jar/pom im "/var/maven/repository" hinzufügen (verwenden Sie die gleiche Struktur wie Maven es normalerweise speichert).

    Anmerkungen:

    • Sie können das Maven-Repository in Ihrem Browser mit diesem Servlet nicht wirklich durchsuchen, es gibt im gleichen Moment eine gültige Antwort zurück.
    • Zusätzliche Bibliotheken wie das Maven-Sling-Plugin und das Maven-Packutil-Plugin sind ebenfalls bereits vorhanden, so dass der Zugriff auf das Day-Repository für sie nicht mehr erforderlich ist.
    • Die Datei "/var/maven/tpl/archiva-parent.pom" enthält automatisch Apache People Repository und ibliblio-Mirror, so dass dort weitere Abhängigkeiten gefunden werden können, die Sie bei Bedarf anpassen können.
    • Sie können auch eine generierte Pom-Datei erstellen, die alle vorhandenen Abhängigkeiten enthält, so dass Sie die für Ihr Maven-Modul benötigten Dateien einfach kopieren und einfügen können, wenn Sie die obige Eltern-Abhängigkeit nicht verwenden möchten. Zum Beispiel mit der URL: http://localhost:4502/maven/dependencies.
    • Sie können ein Maven-Archiv als Proxy verwenden, damit Ihre CQ5-Instanz die Dateien auch dann ausliefern kann, wenn sie nicht ausgeführt wird.

Schnelle Hilfe für das Maven-Packutil-Plugin (das momentan kein offizielles Plug-In ist, aber nützlich)

<plugin>
<groupId>com.day.cq.tools</groupId>
<artifactId>maven-packutil-plugin</artifactId>
<version>0.0.1</version>
<configuration>
<targetURL>http://localhost:4502</targetURL>
<user>admin</user>
<password>admin</password>
<workspace>crx.default</workspace>
</configuration>
<executions>
<execution>
<id>install-package</id>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
</plugin>

Herunterladen

* maven_test.zip
Einfaches Beispiel für eine pom.xml mit etwas Quellcode für Testzwecke

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie