2009-09-17 4 views
6

EDIT: Ok ... also habe ich gesammelt, dass SVN sollte nicht wirklich dafür verwendet werden ... was Sinn macht, nehme ich an (warum Version einzelne Dateien, wenn die Version ein separates Glas sein sollte?).Erstellen/Zugriff auf Maven-Repository in SVN über NetBeans 6.7 * Überarbeitet *

Also sollten wir einen internen Server verwenden, um ein Repository-Management-Tool wie Nexus (etc) zu hosten, und über http darauf zugreifen, um Abhängigkeiten herunterzuziehen und zu löschen. Wir behalten unsere Projekte in SVN jetzt. Was ist der Standard für Bereitstellungen? Abhängigkeiten gehen in Maven. Projekte gehen in SVN über. Sollten wir die Dist- und Build-Ordner ignorieren? Woher würden unsere WAR-Dateien bereitgestellt werden?

ALTE FRAGE (für die Nachwelt)

Ich bin ganz neu in Maven und wissen nicht, Buchse darüber. Ich versuche es zu bewerten, um zu sehen, wie es mit unserer Java-Entwicklung geht.

Ich hätte gerne ein Maven-Repository in unserem SVN-Server, so dass Abhängigkeiten von dort mit NetBeans 6.7 abgerufen werden können. Ich habe nicht gefunden, wie man das bei vielen Google- und Stackoverflow-Suchen macht.

Was sind die besten Praktiken hier? Ich denke, dass wir Abhängigkeiten mit svn + ssh herunterladen möchten, aber die meisten Dinge online scheinen auf http zu verweisen.

Füllen Sie mein Gehirn mit großen Dingen!


Antwort

5

Ich würde dringend empfehlen, dies zu tun. Maven-Artefakte gehören nicht auf einen SCM-Server. Sie sollten einen Repository-Manager wie Nexus verwenden, um Ihre Artefakte zu speichern. Sehen Sie hier für einen Vergleich der wichtigsten repository managers.

Having said that. Wenn Sie entschlossen sind, Subversion zu verwenden, um Ihre Artefakte zu hosten. Sehen Sie diese question auf der Verwendung der Wagen scm, um in einem Subversion-Repository bereitzustellen.

Wenn Sie mehr über Maven erfahren möchten, besuchen Sie Maven: the definitive guide.

Es gibt ein Maven-Plugin für Netbeans, das Abhängigkeiten verwaltet. This article listet einige Best Practices für Maven und Netbeans auf.


Update basierend auf Ihrer aktualisierten Frage. Was tun mit Ihren eigenen Gläsern:

Maven hat eine deploy phase, die Ihre Artefakte im Remote-Repository veröffentlichen wird. Sie müssen den Abschnitt distributionManagement des Pom konfigurieren und appropriate credentials in Ihrer settings.xml angeben, damit die Bereitstellung erfolgen kann. In der Regel würden Sie für Ihre eigenen Artefakte ein eigenständiges logisches Repository auf dem Server einrichten, um diese von Artefakten Dritter zu isolieren. Die Datei Nexus book bietet eine gute Anleitung zum Konfigurieren von Repositorys auf Nexus. Siehe insbesondere den Abschnitt Adopting a Repository Manager.

Wenn Sie Ihr Projekt korrekt konfiguriert haben, führen Sie mvn deploy aus und alle Phasen bis einschließlich der Bereitstellungsphase werden ausgeführt, und Ihr Artefakt wird im Repository veröffentlicht und steht dem Rest Ihres Teams/Ihrer Firma zur Verfügung.

Wenn Sie den Zugriff auf Repositorys beschränken müssen, können Sie Zugriffssteuerungen für Ihr Repository konfigurieren, sodass nur authentifizierte Benutzer auf diese Artefakte zugreifen können (Nexus finden Sie im Abschnitt Managing Security des Handbuchs).

Es ist erwähnenswert, dass Sie weitgehend die gleichen Dinge (mehr oder weniger) mit Artefactory oder Archiva als Nexus tun können, ich habe Nexus-Referenzen aufgenommen, weil ich es bevorzuge, und die Dokumentation ist wirklich gut.

1

Speichern Sie sie nicht in SVN.

Ich würde zwei Dinge tun, um sicherzustellen, dass Sie nicht zu viele Kopfschmerzen bekommen:

  1. Spiegel ein Repository näher an die Box irgendwo, dass Sie und Ihre Kollegen teilen können. Dadurch wird das zusätzliche Herunterladen überflüssig und Sie können alle Probleme beheben, die mit den gespiegelten Pom-/JAR-Dateien auftreten können (und sie werden es auch tun), so dass Ihre Mitspieler nicht an den Kopfschmerzen teilhaben müssen. Es gibt mehrere Repo-Manager, die dabei helfen.
  2. Tun Sie Ihr Bestes, um mit Ihrem Maschinenrepository zu arbeiten und Änderungen/Modifikationen an alle Pom-Dateien zu senden, die Sie an den lokalen freigegebenen Repo machen.
Verwandte Themen