Maven und log4j 1.2.15

Vor einiger Zeit hatte ich über einen Fehler beim Einbinden von log4j in der Version 1.2.15 berichtet und als Lösung die Version 1.2.14 angepriesen. Natürlich ist das auf Dauer keine echte Lösung…daher hier nochmal etwas ausführlicher zwei Lösungsansätze, welche diesen Bug  der unnötigen Abhängigkeiten lösen. Als erstes schaut man sich die Abhängigkeiten von log4j  an: com.sun.jmx jmxri 1.2.1 com.sun.jdmk jmxtools 1.2.1 javax.jms jms 1.1 javax.mail mail 1.4 Leider sind diese aufgrund von Lizenzbeschränkungen in keinem Repository zu finden....

Missing indirectly referenced artifact javax.jms:jms:jar:1.1:compile

Wenn folgender Fehler beim Ausführen von Maven auftritt: 1 2 3 16.11.08 15:42:51 MEZ: Missing indirectly referenced artifact javax.jms:jms:jar:1.1:compile 16.11.08 15:42:51 MEZ: Missing indirectly referenced artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile 16.11.08 15:42:51 MEZ: Missing indirectly referenced artifact com.sun.jmx:jmxri:jar:1.2.1:compile Dann liegt das daran, dass man log4j Version 1.2.15 eingebunden hat, mit der sich die Lizenzbedingungen geändert haben. Wenn man 1.2.14 einbindet, gehts problemlos :)

Tutorial zur Erstellung eines Java-Projektes mit Maven-Unterstützung mittels m2eclipse

In Fortsetzung meiner Artikelreihe zum Thema Maven möchte ich diesmal das Erstellen eines Maven-Projektes mittels des m2eclipse behandeln. Dabei gehe ich auf die einzelnen Schritte des Prozesses und die Angaben dazu ein. Nach der Installation von m2eclipse finden sich in “File” -> “New” -> “Other” unter dem Stichwort “Maven” ein paar neue Punkte. Im Bild rechts sieht man die verfügbaren Punkte “Checkout Maven projects from SCM”, “Maven Module”, “Maven POM File” sowie “Maven Project”....

Upgrade von Sonatype Nexus

Sobald man Nexus einige Zeit betreibt, wird man gelegentlich das einige Updates von Nexus mitmachen müssen. Natürlich möchte man die Downtime so gering wie möglich halten. Damit also das Update zackig von statten geht, wechselt man in das Verzeichnis /usr/local/, lädt das aktuelle Release dorthin runter, stopp Nexus und legt dem Symlink um. Hat man noch Konfigurationen an der webapp vorgenommen (nexus-webapp-X.X.X.X/conf), so muss man diese umkopieren. Zuletzt startet man Nexus wieder....

Einrichtung eines Maven-Repository bzw. Maven-Proxy: Sonatype Nexus

Seit einiger Zeit arbeite ich nun mit Maven, einem hervorragenden Tool zur Unterstützung des Entwicklungsprozesses. Die meisten Abhängigkeiten wie etwa Hibernate oder log4j können aus den zentralen Repositories bezogen werden. Leider sind diese zum einen relativ langsam und zum anderen sind doch nicht alle Dependencies dort vorhanden. Genau für diesen Anwendungsfall gibt es Proxies, die die verwendeten Abhängigkeiten zwischenspeichern und eigene Abhängigkeiten bereitstellen können. Im Folgenden soll nun die Einrichtung von Nexus unter Gentoo (geht aber auch bestimmt unter anderen OS) gezeigt werden....

Backup von Sonatype Nexus

Nach der Einrichtung von Sonatype Nexus  fragt sich der gute Systemadministrator wie man das ganze am besten sichern kann. Nexus ist grundlegend ersteinmal aufgeteilt in zwei Teile, die Applikation (nexus-webapp-X.X.X.X) und die Datenhaltung (sonatype-work), was eine Sicherung deutlich vereinfacht. Im Grund genommen führt man einfach nur ein Backup des Verzeichnisses sonatype-work/nexus durch. Wenn man das ganze etwas genauer betrachtet, kann man folgende Verzeichnisse noch ausschließen, die ohne Probleme in einer neuen Installation wiederhergestellt werden können:...

Maven: maven-sql-plugin mit MSSQL-Server

Bei einem Java-Projekt, wo wir auch Maven einsetzen, müssen wir auf eine MSSQL-Datenbank zugreifen. Da unsere Datenbankscripte momentan im Fluss sind, d.h. sich häufig ändern, wollten wir diese mit einem maven-goal über das Plugin maven-sql-plugin  neu in die Datenbank laden lassen. Leider lief das gar nicht, da die Datenbank sich weigerte dem SQL-Plugin die Befehle abzunehmen. Heute kam ich drauf, dass der Delimiter falsch gesetzt war. Dieser lautet bei MSSQL einfach “GO” und nicht “;” wie bei beispielsweise MySQL....

Einbindung von Sonatype Nexus in der pom.xml als Proxy oder Repository für Maven

In der Fortsetzung meiner Artikelreihen zum Thema Maven ist das Thema dieses Beitrags die Einbindung von Sonatype Nexus in der pom.xml eines Maven-unterstützten Java-Projekts. Möchte man in einem Projekt eigene Dependencies nutzen, so kommt man an der Benutzung eines eigenen Repositories nicht vorbei. Jedoch kann man Nexus auch als schnellen Zwischenspeicher der großen Repositories nutzen, um den Entwicklern einen schnellen Download der Dependencies zu ermöglichen. Das Problem ist jedoch die Einbindung der Repositories in der pom....

Tutorial zur Einrichtung, Installation bzw. Integration von Maven in eclipse

Seit ein paar Wochen arbeite ich zusammen mit ein paar Kollegen mit der Entwicklung eines Programms in der Programmiersprache Java. Wie bei vielen Projekten verwenden wir externe Bibliotheken für einige Zusatzfunktionalitäten. Dabei war das Problem auf alle Entwickler-PC’s (ich habe selbst zwei davon) diese Abhängigkeiten zu verteilen und den Kompilierungsvorgang für alle Beteiligten zu vereinheitlichen bzw. vereinfachen. Auf meiner Suche bin ich dabei auf Apache Maven  , ein auf Java basierendes Build-Management-Tool der Apache Software Foundation  gestoßen....

Yoxos OnDemand eclipse Download Service stellt eclipse-Pakete zusammen

Ich bin gerade über eine geniale Webseite gestolpert. Yoxos OnDemand  stellt ein eclipse-Paket mit den verschiedensten Plugins als Download zusammen. So kann man direkt ein eclipse mit allen wichtigen Plugins fertig zusammengestellt (inklusive aller Abhängigkeiten!) in den jeweils aktuellsten Versionen herunterladen, ohne ewig rumsuchen zu müssen. Beispielweise wird so die Integration von SVN und Maven zum Kinderspiel. Einfach genial ;)