2017-02-19 2 views
0

Ich habe viele Abhängigkeiten in meinem Projekt, von denen fast alle aus einem Remote-Repository abgerufen werden können. Eines der verwendeten Repositorys enthält jedoch eine Abhängigkeit, mit der ich eine benutzerdefinierte Version von lokal mit den bereitgestellten Tools erstellen kann (daher werde ich es nicht nur an einem benutzerdefinierten Speicherort erstellen, sondern herausfinden, dass dies der letzte Ausweg ist).Machen Sie Single Maven Abhängigkeit lokal nur

Ich möchte alle meine Abhängigkeiten von Remote-Repositorys abrufen, mit Ausnahme der, die ich lokal erstelle. Ich kann das Repository, das es enthält, nicht entfernen, da es mehr von meinen Abhängigkeiten enthält, die ich aktualisieren möchte DO.

Darüber hinaus ist dies ein Projekt mit anderen geteilt, so ein Systembereich und ein SystemPath-Attribut werden nicht funktionieren.

Ich kann Maven nicht im Offline-Modus ausführen, da ich regelmäßig jede andere Abhängigkeit aktualisieren möchte.

Danke.

+0

zunächst eine Änderung der Versions machen oder besser an die artifactId des Projekts und stellen Sie sie an einen Manager lokalen Repository, so dass Sie keine systemPatha Abhängigkeit benötigen .. – khmarbaise

+0

Maven hat die ' vorgesehen' dafür: https: //maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html –

Antwort

0

Lassen Sie mich mit einem Vorschlag beginnen, versuchen Sie nicht, bestehende Koordinaten mit Ihrer benutzerdefinierten Logik und damit den Build zu überschreiben. Es wird immer zur Verwirrung beitragen und die schlimmste Laufzeitausnahme wird es schwierig machen, das Problem zu debuggen. Sie sollten

  1. Ändern Sie die Koordinaten dieses benutzerdefinierten Buildprojekts - Bestmögliche Lösung. Dies wird wie jede andere Abhängigkeit behandelt.
  2. Wenn Sie die Koordinaten nicht ändern können, ändern Sie die Version. Fügen Sie ein qualifier hinzu, um es für die weitere Veröffentlichung dieser Bibliothek aus der ursprünglichen Quelle zukunftssicher zu machen.
  3. Immer bevorzugen, diese Abhängigkeit in dependency management section hinzuzufügen. Dies gibt dieser Bibliothek immer eine Präferenz gegenüber der Abhängigkeitsvermittlung.
  4. Sie könnten relocation mechanism des Vertriebsmanagements verwenden. Dies wird eine nützliche Nachricht für die Menschen geben. Es gibt immer eine gemeinsame settings.xml in einem Unternehmen.