Artefakte und Dependencies
BOM (Bill of Materials)
Das jadice web toolkit verfügt über ein Modul namens webtoolkit-bom
, welches die Pflege von
Abhängigkeiten des jadice web toolkits vereinfacht. Über den Import der BOM
(Bill of Materials)
werden die Versionen der zugehörigen Abhängigkeiten automatisch gesetzt und müssen nicht mehr getrennt gepflegt werden.
Ergänzende Informationen können Sie in der Knowledge-Base finden.
<dependencyManagement>
<dependency>
<groupId>com.levigo.jadice.webtoolkit</groupId>
<artifactId>webtoolkit-bom</artifactId>
<version>${webtoolkit.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencyManagement>
Dependencies für die Entwicklung mit Spring Boot
Für die Entwicklung einer jadice web toolkit Integration auf Basis von Spring Boot muss folgendes zur pom.xml
hinzugefügt werden:
<dependencies>
<dependency>
<groupId>com.levigo.jadice.webtoolkit</groupId>
<artifactId>webtoolkit-spring-boot-starter</artifactId>
</dependency>
</dependencies>
Alle weiteren Dependencies werden transitiv geladen.
Logging
Für das Logging stehen unterschiedliche Möglichkeiten und Implementierungen zur Verfügung. Weitere Informationen finden Sie im Kapitel Logging.
Der Standard bei Spring Boot ist die Verwendung von Logback. Damit auch die jadice-Klassen Logback verwenden
sind folgenden Einträge in der pom.xml
erforderlich:
<dependencies>
<dependency>
<groupId>org.jadice.util</groupId>
<artifactId>logging-slf4j</artifactId>
</dependency>
</dependencies>
JAXB
Das JAXB-Modul (Java Architecture for XML Binding) ist seit Java 9 nicht mehr Teil der JRE und muss daher manuell als Abhängigkeit hinzugefügt werden:
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
</dependency>
</dependencies>
Dokumenten-Formate
Die Unterstützung für PDF-Dokumente ist automatisch aktiviert. Wenn weitere Dokumente angezeigt werden sollen, muss
hierfür gegebenenfalls ein entsprechendes jadice-format-
-Modul hinzugefügt werden.
<dependencies>
<dependency>
<groupId>com.levigo.jadice.documentplatform.core</groupId>
<artifactId>jadice-format-modca</artifactId>
</dependency>
<dependency>
<groupId>com.levigo.jadice.documentplatform.core</groupId>
<artifactId>jadice-format-tiff</artifactId>
</dependency>
</dependencies>
Debugging / Dev-Dependencies
Um die Anwendung besser debuggen zu können, sollten die folgenden Dependencies eingebunden werden. Wir empfehlen diese Dependencies in ein separates Maven-Profil auszulagern.
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
</profile>
</profiles>
GWT-Devmode (Client Debugging)
Der Devmode über die Dependency gwt-spring-boot-starter
hat in vorherigen Versionen so funktioniert, dass die Spring Boot
Server Anwendung einen GWT-Codeserver gestartet hat. Dieser hat die Änderungen am Client-Code on-the-fly kompiliert.
Diese GWT-Devmode-Dependency ist mit der Migration auf JakartaEE entfallen, da der Devmode von GWT Javax-Packages
verwendet und daher nicht weiter kompatibel ist.
Um weiterhin Client-Code debuggen zu können, empfehlen wir das
GWT-Plugin von IntelliJ. Bei der Verwendung von Eclipse kann die in gwt-dev enthaltene Klasse com.google.gwt.dev.DevMode
manuell gestartet werden.
Der Devmode über das Plugin muss mit den Optionen -war <PFAD ZU /src/main/webapp/>
und -noserver
gestartet werden.
Dadurch wird eine eigene Server-Anwendung außerhalb des Spring Boot Backends gestartet (-noserver
). Zudem wird die
vom GWT-Compiler erstellte APPNAME.nocache.js
so angepasst, dass die GWT Kompilate über den Devserver geleitet werden,
welcher die on-the-fly Kompilierung vornimmt. Damit alles korrekt funktioniert muss der Devmode zuerst gestartet werden
und erst im Anschluss die Spring Boot Backend Anwendung.
Ergänzende Informationen können Sie in der Knowledge-Base und der GWT-Doku finden.
Traditional Deployment
Wenn die Anwendung als traditionelles Web-Archiv (WAR-Datei) auf einem Anwendungsserver deployt werden soll (Traditional Deployment), sind die folgenden Anpassungen erforderlich:
<packaging>war</packaging>
<dependencies>
<!-- this is provided by the App-Server -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.levigo.jadice.webtoolkit</groupId>
<artifactId>webtoolkit-spring-boot-starter</artifactId>
<exclusions>
<!-- As the WAR is deployed on Tomcat, we don't need embedded Tomcat -->
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Needed for Wildfly -->
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
</dependency>
</dependencies>
Weitere Dependencies
Export/Printing
<dependencies>
<dependency>
<groupId>com.levigo.jadice.webtoolkit</groupId>
<artifactId>webtoolkit-export</artifactId>
</dependency>
</dependencies>
BufferManager
Für die effizientere Verwaltung von Datenströmen empfiehlt es sich den BufferManager zu verwenden. Weitere Informationen finden Sie in der Knowledge-Base und im Referenzhandbuch der document platform.
<dependencies>
<dependency>
<groupId>com.levigo.jadice.documentplatform.core</groupId>
<artifactId>jadice-buffer-manager</artifactId>
</dependency>
</dependencies>
Annotationsformate
Für das jeweils gewünschte Annotationsformat muss die entsprechende Dependency ebenfalls hinzugefügt werden. Weitere Informationen zu Annoationen und den unterschiedlichen Formaten finden Sie im Referenzhandbuch der document platform.
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>jadice-format-anno-fnp8</artifactId>
</dependency>
</dependencies>