8 Stimmen

JBoss-Module für eine große Anzahl von Jar-Abhängigkeiten WIE MAN

Ich versuche herauszufinden, wie ich meine WARs leichter machen kann, indem ich JasperReports, Apache POI und andere schwere Bibliotheken direkt in den JBoss AS durch Verwendung von JBoss-Modulen einbinde.

Jasper verwendet viele Bibliotheken, um PDF- oder XLS-Dateien zu generieren, wie Sie hier sehen können. Unsere Vorlagen sind ziemlich alt und wir stecken mit der alten Jasper-Version 3.7.1 fest, die natürlich ältere Versionen von Bibliotheken wie Commons verwendet, die bereits in den JBoss AS 7.1.1-Modulen vorhanden sind.

Wie kann ich ein "großes" Modul erstellen, das alle von Jasper verwendeten JARs enthält und andere Teile der Anwendung weiterhin neuere Module verwenden lässt?

Das Hinzufügen aller JARs in separate Verzeichnisse erscheint als viel Arbeit ohne garantierten Erfolg. Können wir alles in ein Modul ohne Erstellen von paketähnlichen Verzeichnissen stecken?

4voto

Robert Reiner Punkte 531

Wir haben vor kurzem mit JBoss-Modulen begonnen und ein kleines Plugin für Maven geschrieben, das Modulordner mit module.xmls basierend auf XML-Deskriptoren generiert. Das Plugin heißt smartics-jboss-modules-maven-plugin und weitere Informationen dazu finden Sie im Projektblog.

Wir haben gerade erst damit angefangen zu arbeiten, aber es erleichtert bereits den Prozess der Synchronisierung zwischen dem POM und dem module.xml (zusammen mit der Verzeichnisstruktur) für unsere Projekte sehr.

Der Nachteil dieses Ansatzes ist, dass man einen zusätzlichen XML-Deskriptor lernen und ein zusätzliches Maven-Plugin konfigurieren muss.

Wenn Sie es ausprobieren möchten, ist das Plugin unter der Apache License 2.0 lizenziert.

1voto

Shailendra Punkte 8384

Die Erstellung von JBoss-Modulen für externe Bibliotheken kann durch Maven automatisiert werden, wie in einer anderen Antwort hier auf SO erläutert. Der Autor hat auch ein GitHub-Projekt veröffentlicht. Dies kann das Schmerzmittel erleichtern beim Verwalten von vielen transitiven Abhängigkeiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X