Maven-repository-Speicherort leiden
Ich bin der Neukonfiguration eines Servers erstellen, den jemand anderes setup vor langer Zeit auf einen neuen Maven-repository. Aber, das alte repository ist immer noch verwiesen wird, und ich kann nicht herausfinden, wo diese Bezugnahme ist aus.
M2_HOME=/usr/share/maven2
/etc/maven2/m2.conf (usr/share/maven2/conf/m2.conf hier links)
main is org.apache.maven.cli.MavenCli from plexus.core
set maven.home default ${user.home}/m2
[plexus.core]
load ${maven.home}/lib/*.jar
/etc/maven2/conf hat auch eine settings.xml mit alle Einträge auskommentiert.
Den build-Benutzer hat eine ~/.m2/settings.xml: verweisen auf NewRepo.
<settings>
<pluginGroups>
</pluginGroups>
<servers>
</servers>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<id>personal</id>
<repositories>
<repository>
<id>new-repo</id>
<name>New Maven 2 Repo</name>
<url>http://NewRepo/</url>
</repository>
<!-- Some other standard repos like maven.org here -->
</repositories>
<pluginRepositories>
<pluginRepository>
<id>ibiblio</id>
<name>Ibiblio Maven 2 Repo</name>
<url>http://repo1.maven.org/maven2/</url>
</pluginRepository>
<pluginRepository>
<id>apache-snapshots</id>
<name>Apache Snapshots Maven 2 Repo</name>
<url>http://people.apache.org./maven-snapshot-repository/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
Gibt es auch ein /mnt/public/maven/settings.xml mit dem exakt gleichen Inhalt wie der build des Benutzers settings.xml
Suchte ich die gesamte Datei-system, um sicherzustellen, gibt es keine andere settings.xml -Dateien.
Beim laufen
mvn release:prepare
Bekomme ich die Warnung:
[INFO] HINWEIS: Maven ist die Ausführung in
offline-Modus. Alle Artefakte nicht
bereits in Ihrem lokalen repository
kann nicht zugegriffen werden.
Beim laufen
mvn release:perform
Bekomme ich die Fehlermeldung:
Fehler bereitstellen Artefakt: Fehler beim
transfer-Datei: http://OldRepo
Wo könnte, dass der Verweis auf http://OldRepo versteckt sein?
BEARBEITEN
Des Projekts pom.xml verweist auf eine parent-POM wie folgt:
<parent>
<groupId>MyParent</groupId>
<artifactId>maven</artifactId>
<version>20090727</version>
</parent>
Gibt es keinen Hinweis auf
<distributionManagement>
in der Projekt-POM. Ich war nicht in der Lage, suchen Sie die übergeordnete POM.
Das parent-pom muss in Ihrem lokalen repo (befolgen Sie die Gruppen-id)
InformationsquelleAutor Eric J. | 2009-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Über
Repositorys
innerhalb einerprofile
erklärt in dersettings.xml
, die Dokumentation sagt:Dies ist also nicht für release-management. Zu konfigurieren, wo ein Artefakt bereitgestellt wird, müssen Sie einen
distributionManagement
element in Ihrer pom.Folgende ist ein Beispiel, wie ein
distributionManagement
element kann so konfiguriert werden, innerhalb eines Projektes pom.xml Datei.Look für dieses element in Ihre pom oder in einer parent-pom (es könnte sein, erklärte in einem corporate parent-pom).
EDIT: können Sie überschreiben die
distributionManagement
in Ihrem pom, aber es wäre besser, es zu ändern, in der parent-pom und die Freigabe dieser neuen version in Ihre enterprise-repository wenn Sie eine definitive Veränderung.Sie können erklären, ein Elternteil mit seinem
groupId
,artifactId
undversion
ohnerelativePath
, wenn dieser Elternteil wurde veröffentlicht in Ihrer enterprise-repository. Das ist eigentlich wie eine "corporate" pom verwendet werden sollte (und das scheint hier der Fall sein). Das parent-pom muss heruntergeladen wurden, in Ihrem lokalen repository.Ah, das Tat es. Das übergeordnete POM in das repository.
InformationsquelleAutor Pascal Thivent
Vielleicht dumm ist zu empfehlen, aber haben Sie versucht, mit Ihrem alten Freund
grep
wenn ist es verfügbar?viel Glück dann 🙂
InformationsquelleAutor pedromarce