Maven+Eclipse: Repository im Workspace?

ralf.zahn

Mitglied
Hallo,

ich nutze m2eclipse mit dem "Maven Dependencies" Build Path Container. Ich habe eine Reihe von JARs, die im Build Path, während des Maven Builds (auf einem anderen Build-Server) und zur Laufzeit in einem J2EE Application Server verfügbar sein müssen. Letzteres schließt das Ablegen in einem zentral verfügbaren Repository ab.

Ich möchte gerne die JARs in einem Workspace-Projekt ablegen, im Maven Repository-Format. Dafür muss ich aber im POM eine Referenz auf dieses Repository setzen können. Leider funktioniert das nicht.
Hat das jemand schonmal gemacht und kann mir ein Beispiel dafür zeigen, d.h. Auszug aus dem POM.

Ich habe es bisher so im POM, aber das zieht nicht:
[XML]
<repositories>
<repository>
<id>projectinternal</id>
<url>file://${project.basedir}/lib</url>
</repository>
</repositories>
[/XML]

Maven-Version ist 2.1.0, m2eclipse-Version ist 0.9.8
 

kama

Top Contributor
Hallo,

ich nutze m2eclipse mit dem "Maven Dependencies" Build Path Container. Ich habe eine Reihe von JARs, die im Build Path, während des Maven Builds (auf einem anderen Build-Server) und zur Laufzeit in einem J2EE Application Server verfügbar sein müssen.
Sprich Du hast Dependencies auf die entsprechenden jar's....Die Frage ist auch was sind dass für JAR's. ? Selbst gemachte ?

Ich möchte gerne die JARs in einem Workspace-Projekt ablegen, im Maven Repository-Format. Dafür muss ich aber im POM eine Referenz auf dieses Repository setzen können.
Warum willst Du die in einem Workspace ablegen...dann verlierst Du doch genau die Vorteile bzgl. der Dependencies...

Das ist der Zeitpunkt für einen Repository Manager (Nexus, Archiva, Artifactory) im Netz installieren und gut ist...dort kannst Du solche artefakte dann ablegen...

[XML]
<repositories>
<repository>
<id>projectinternal</id>
<url>file://${project.basedir}/lib</url>
</repository>
</repositories>
[/XML]
Wenn schon dann ${basedir} verwenden...aber das ist nicht der richtige Weg besser Repo Manager...

Gruß
Karl Heinz Marbaise
 

ralf.zahn

Mitglied
Die JARs sind fremde, die nirgends in einem Repository-Format vorliegen.
Ich benötige sie im Workspace, weil der Classloader des Application Servers in der Testumgebung ebenso drauf zugreifen soll.
Repository Manager ist nicht mal einfach so installiert - ich befinde mich in einem firmeninternen Netzwerk, da kann ich nicht (ungefragt) irgendwelche Systeme installieren.
 

kama

Top Contributor
Hallo,

Die JARs sind fremde, die nirgends in einem Repository-Format vorliegen.
Hm...das ist dann nicht so gut..aber die könnte man, wenn man einen Repo-Manager hätte dort ablegen......Kommerzielle ? oder was ? Ich habe bisher noch alles in Maven Repos gefunden...

Ich benötige sie im Workspace, weil der Classloader des Application Servers in der Testumgebung ebenso drauf zugreifen soll.
Das war mir schon klar.....

Repository Manager ist nicht mal einfach so installiert - ich befinde mich in einem firmeninternen Netzwerk, da kann ich nicht (ungefragt) irgendwelche Systeme installieren.
Dann aber Maven benutzen? Das lädt doch Sachen aus dem Internet ;-)...
Nein selbstverständlich nicht ungefragt...dann muss man das in die entsprechenden Bahnen lenken...Maven Ohne Repo Manager ist nämlich eine Qual...
EDIT: Was meinst Du wo ich hier sitze...

Das mit mit dem basedir hast Du probiert ? in der?

Was Du aber machen könntest wäre das folgende:

[XML]
<dependencies>
<dependency>
<groupId>xyz</groupId>
<artifactId>xxxt</artifactId>
<version>4.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/xyz.jar</systemPath>
</dependency>
[/XML]

EDIT: Der Scope System führt aber dazu, dass das Releasen nicht funktioniert (muss ich nochmal nachlesen)...Nein sollte in Ordnung sein.

Gruß
Karl Heinz Marbaise
 
Zuletzt bearbeitet:

ralf.zahn

Mitglied
Bei den JARs handelt es sich um Bibliotheken einer kommerziellen Anwendung, die durch Eigenentwicklung an die firmenspezifischen Anforderungen angepasst wird.

Maven ohne Repo-Manager ist öde, das merk ich auch. :autsch:
Andererseits muss es auch simpel gehen.
Die Methode über den system-Scope hat ihren Reiz, weil ich damit diese Bibliotheken überhaupt nicht in einem Repository unterbringen muss. Ich muss das allerdings testen, denn eine Library soll beim Build ins WEB-INF/lib-Verzeichnis kopiert werden, und das verlangt nach Scope "compile".

Das Repository im POM funktioniert auch nicht mit ${basedir}, hab da schon Einiges probiert - mit file://, file:///, ohne protocol, absoluter Pfad im Format "C|/.../..."
In manchen Quellen finde ich die Aussage, dass http:// und file:// verwendet werden können, in anderen wiederrum steht, dass das Laden aus Repositories nur mit http:// funktioniert, das Installieren in ein Repository aber auch mit anderen Protokollen möglich ist. ???:L

Ne andere Frage nebenbei: Gibt es schon irgendwo Beispiele mit Maven3, insbesondere Anwendungen von Incremental Builds bzw. Composition over Inheritation? Find bisher nur Folien, abstrakte Informationen, aber keine konkreten Codebeispiele.
 
M

maki

Gast
Maven2 ohne Repo ist wie Sex ohne Partner, es reicht zum üben aber wirklich gut ist es nicht ;)

Mal ernsthaft, würde niemals Maven2 proffessionell (für Geld) nutzen ohne Repo Manager, dann lieber ohne Maven.
Artifactory, Nexus, etc. pp.
 

ralf.zahn

Mitglied
Naja, das ist deine Meinung. Ich sitze hier beim Kunden, der bis vor Kurzem ein veraltetes SCM verwendet hat sowie den "Build" der Anwendung ausführte, indem der Entwickler in seiner Eclipse-IDE den Export-Wizard ausgeführt hat. Genau davon will ich wegkommen. Ein Maven-Build ist da ein Anfang, nur den Repo-Manager bekomm ich hier kurzfristig nicht hin.
Sex ohne Partner ist eine gute Alternative, wenn eben mal kein Partner zur Verfügung steht. :toll:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Git - Nur einen Branch (z.B. Master) in ein Repository pushen Tools - Maven, Gradle, Ant & mehr 12
N Required filename-based automodules detected. Please don't publish this project to a public artifact repository Tools - Maven, Gradle, Ant & mehr 9
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
K Erfahrungen / Ideen zu lokalem Repository Tools - Maven, Gradle, Ant & mehr 3
C Automatisches Deployen in ein externes Maven Repository. Tools - Maven, Gradle, Ant & mehr 5
F Handhabung Maven Repository Tools - Maven, Gradle, Ant & mehr 5
D [MAVEN] Artifact wird nicht vom Repository(manager) geladen Tools - Maven, Gradle, Ant & mehr 5
M Versionierung mit GIT ohne online Repository Tools - Maven, Gradle, Ant & mehr 6
eskimo328 Maven Firmen Repository Dependencies nicht über Internet Tools - Maven, Gradle, Ant & mehr 7
P Eigenes Maven Repository via Apache HTTP Tools - Maven, Gradle, Ant & mehr 16
M Repository und Integrationsumgebung auf einem Server Tools - Maven, Gradle, Ant & mehr 5
S Maven + m2eclipse / "add dependency" sieht Maven central Repository nicht Tools - Maven, Gradle, Ant & mehr 6
N Maven2 Projekt unter Hudson mit SVN Repository erstellen Tools - Maven, Gradle, Ant & mehr 4
reibi Maven Workspace Resolution Tools - Maven, Gradle, Ant & mehr 0

Ähnliche Java Themen

Neue Themen


Oben