2016-08-21 5 views
0

Ich habe zwei Projekte. Eines ist ein Gradle-Projekt (eigentlich Android-App) und das andere ist ein Maven-Projekt (Ein Spring-Mvc-HTTP-Server auf TomCat-Basis).Erstellen von gemeinsamen zwischen Gradle und Maven

Diese zwei Projekte haben einige Objekte, die sie teilen (das Antwortobjekt zum Beispiel).

Ich möchte ein gemeinsames Projekt erstellen, das alle Objekte enthält, die die Gradle and Maven-Projekte benötigen.

Was habe ich versucht?

Nun, ich weiß, ein Projekt in Maven bauen wird seine Artefakte zu .m2 lokalen Repository hinzufügen, die zumindest von 2 Maven lokale Projekte geteilt werden können. Aber ich weiß nicht so viel über Gradle und wie man Artefakte mit ihm teilt.

Ich würde mich über jeden Rat freuen, den Sie mir geben können, um mich in die richtige Richtung zu weisen.

Vielen Dank im Voraus.

+0

Wenn Sie Gradle besser verstehen möchten, könnte eine gute Übung das Maven-Projekt in Gradle konvertieren –

Antwort

0

Sie können ohne Probleme Artefakte aus Maven-Repositories Gradle Projekte importieren, zum Beispiel dieses Artefakt von Maven central:

<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-io</artifactId> 
    <version>1.3.2</version> 
</dependency> 

Kann auch in Ihrer Klasse Projekt aufgenommen werden:

dependencies { 
    compile 'org.apache.commons:commons-io:1.3.2' 
} 

Folgen Sie this link, um verschiedene Buildsystemimportformate für die obige Beispielbibliothek anzuzeigen.

Here Es wird erklärt, wie Sie Ihr lokales Maven Repository zum Auflösungspfad hinzufügen.

Also, durch die Verwendung aller Maven-Repository (lokal oder remote) können Sie das gleiche Artefakt in jedem Ihrer Projekte und Module, Maven und Gradle-basierte bereitstellen und einfügen.

+0

Hallo Invariant Vielen Dank für Ihre Antwort! Ok, ich verstehe, dass es kein Problem sein sollte, es lokal auf meiner Maschine zu tun, aber was ist mit anderen Entwicklern, die mit dem Gradle-Projekt auf ihrer Maschine arbeiten. Scheint mir, dass alle Klassen in dem gemeinsamen (lokalen) Repository, das ich erstellt habe, für sie nicht verfügbar wären. Was ist die beste Praxis in solch einem Fall? Um ein Remote-Maven-Repository zu erstellen? Kann das relativ einfach gemacht werden? Danke noch einmal! – Nom1fan

+1

Ja, Remote-Maven-Repository ist genau das, was Sie brauchen. Es gibt Dienste wie [bintray] (https://bintray.com/), die maven-Repos hosten, Sie können [git auch als sicheres maven-Repository verwenden] (http://jeroenmols.com/blog/2016/02/05)/wagongit /? utm_source = Android + Wöchentlich & utm_campaign = 2a657cc8e1-Android_Weekly_218 & utm_medium = email & utm_term = 0_4eb677ad19-2a657cc8e1-338052073). Grundsätzlich kann jeder Remote-Speicher als Maven-Repository verwendet werden. Dann müssen Sie nur Daten hochladen und den Auflösungspfad ändern, um auf Ihre Fernbedienung zu zeigen - das ist alles. – maciekjanusz

+0

Ok, ich werde es überprüfen. Danke vielmals! – Nom1fan

Verwandte Themen