Blog

Migrieren Sie Ihr Projekt zu Maven 2 - Teil II

Lars Vonk

Aktualisiert Oktober 23, 2025
3 Minuten

im letzten Blog-Beitrag Migrieren Sie Ihr Projekt auf Maven 2 - Teil I. Als letztes habe ich die Testklassen erfolgreich ausgeführt. Lassen Sie uns nun alle Berichte einfügen. Wir haben derzeit die folgenden Berichte in unserem Maven-Build:

  1. Jira
  2. Javadoc
  3. JavaNCSS
  4. Checkstyle
  5. PMD
  6. FindBugs
  7. JDepend
  8. Simian
  9. JUnit
  10. Klee
  11. Dashboard

Beginnen wir damit, mvn site out of the box auszuführen (einer meiner Lieblingstestfälle ;-)), dies sollte die Standardberichte gemäß der Maven-Dokumentation erstellen. Los geht's: mvn site....

[INFO] Generate "Continuous Integration" report. [ERROR] VM #displayTree: error : too few arguments to macro. Wanted 2 got 0 [ERROR] VM #menuItem: error : too few arguments to macro. Wanted 1 got 0 [INFO] Generate "Dependencies" report. [INFO] [ERROR] FATAL ERROR [INFO] [INFO] null [INFO] [INFO] Trace java.lang.NullPointerException at org.apache.maven.artifact.resolver.DefaultArtifactResolver .resolve(DefaultArtifactResolver.java:82) at org.apache.maven.artifact.resolver.DefaultArtifactResolver .resolve(DefaultArtifactResolver.java:63) at org.apache.maven.project.DefaultMavenProjectBuilder .findModelFromRepository(DefaultMavenProjectBuilder.java:386) at org.apache.maven.project.DefaultMavenProjectBuilder .buildFromRepository(DefaultMavenProjectBuilder.java:351) at org.apache.maven.report.projectinfo .DependenciesReport DependenciesRenderer .getMavenProjectFromRepository(DependenciesReport.java:362) at org.apache.maven.report.projectinfo .DependenciesReport DependenciesRenderer .renderBody(DependenciesReport.java:242) Nein, nicht ohne weiteres... Es scheint, dass die Maven-Site nicht funktioniert, obwohl auf der Maven-Website erwähnt wird, dass sie ohne Anpassungen funktionieren sollte.Ich habe gegoogelt und die folgenden Lösungsvorschläge gefunden: Verwendung einer Snapshot-Version des project-info-reports-Plugins, wie unter folgendem Link erwähnt: www.nabble.com/-m2-Is-a-new-version-of-the-site-plugin-coming--t1095846.html, aber das führte zu einem weiteren Fehler.Maven sagte etwas von einem Standard-Skin, der nicht existiert. Ich habe auch einen Link gefunden, der dieses Problem möglicherweise beheben würde: www.nabble.com/default-skin---where-do-i-get-it--t1180771.html, aber das führte mich zu demselben NullPointer, der oben erwähnt wurde. Ich wollte gerade zu dem Schluss kommen, dass Site in Maven 2 noch nicht funktioniert, aber dann habe ich diesen Artikel auf javaworld gelesen, in dem sie es geschafft haben, es zum Laufen zu bringen. Ich habe das dem Artikel beigefügte Beispiel ausprobiert und es hat tatsächlich funktioniert. Der Hauptunterschied zwischen den beiden pom's ist die relativ große Anzahl von Abhängigkeiten, die ich in meinem pom habe. Das ist genau der Bericht, der laut Stacktrace den NullPointer auslöst. Ich werde später versuchen, herauszufinden, was los ist und welche Abhängigkeit diesen NullPointer verursacht. (Aber selbst wenn es sich um eine defekte Abhängigkeit handelt, würde ich den NullPointer nicht erwarten...) Konzentrieren wir uns nun auf die einzelnen Berichte, die ich in Maven 2 verwenden möchte, und schauen wir, ob sie bereits verfügbar sind

Bericht NameFunktioniert es in Maven 2?
JiraNicht gefunden
JavadocOK
JavaNCSSSandbox
CheckstyleOK
PMDOK
FindBugsSandkasten
JDependSandkasten
SimianSandkasten
JUnitOK, es heißt jetzt surefire.
KleeNICHT OK, konnte es nicht zum Laufen bringen.
DashboardNicht gefunden

Ich konnte keines der Sandbox-Plugins herunterladen. Ich habe die Anweisungen unter using-sandbox-plugins.html befolgt, aber kein Glück. Maven konnte die Plugins aus irgendeinem Grund nicht herunterladen. Viele der Berichte, die wir jetzt verwenden, sind noch in Sandboxen, so dass eine Migration für uns noch nicht möglich ist. Außerdem muss ich noch herausfinden, warum mir Maven Site den NullPointer ausgibt, bevor ich die Site-Generierung verwenden kann. Solange dies nicht behoben ist oder ich es nicht zum Laufen bringe, müssen wir mit Maven 1.x weitermachen. (Ich habe jdk 1.5.6_06 und maven 2.0.2 für diesen Test verwendet)

Lesen Sie Teil 3 von Migrieren Sie Ihr Projekt zu Maven 2

Verfasst von

Lars Vonk

Contact

Let’s discuss how we can support your journey.