<modelVersion>4.0.0</modelVersion>
<groupId>eu.etaxonomy</groupId>
<artifactId>cdmlib-parent</artifactId>
- <version>5.32.0-SNAPSHOT</version>
+ <version>5.43.0-SNAPSHOT</version>
<name>CDM Library</name>
<description>The Java implementation of the Common Data Model (CDM), the data model for EDIT's internet platform for cybertaxonomy.</description>
<url>https://cybertaxonomy.org/cdmlib/</url>
<module>cdmlib-test</module>
<module>cdmlib-persistence</module>
<module>cdmlib-services</module>
+ <module>cdmlib-cache</module>
<module>cdmlib-ext</module>
<module>cdmlib-io</module>
<module>cdmlib-remote</module>
<module>cdmlib-print</module>
<module>cdmlib-remote-webapp</module>
- <module>cdmlib-cache</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.codelevel>1.8</java.codelevel>
<spring.version>4.3.30.RELEASE</spring.version> <!-- checked 2020-08, further upgrade possible -->
<spring-security.version>4.2.20.RELEASE</spring-security.version> <!-- checked 2020-08, further upgrade possible -->
- <spring-security-oauth2.version>2.5.1.RELEASE</spring-security-oauth2.version> <!-- checked 2020-08 -->
+ <spring-security-oauth2.version>2.5.2.RELEASE</spring-security-oauth2.version> <!-- checked 2020-08 -->
<spring-cloud.version>1.1.3.RELEASE</spring-cloud.version>
<hibernate.version>5.4.33.Final</hibernate.version>
<hibernate-validator.version>6.2.3.Final</hibernate-validator.version> <!-- checked 2020-08 -->
<hibernate-search.version>5.11.10.Final</hibernate-search.version>
<lucene.version>5.5.5</lucene.version>
<unitils.version>3.4.6</unitils.version>
- <hsqldb.version>2.5.1</hsqldb.version> <!-- upgrade to 2.6.1 "cannot access Server" in LocalHsqldb during compile time -->
<httpcomponents.version>4.5.13</httpcomponents.version>
<doxia.version>1.11.1</doxia.version> <!-- checked 2021-12 -->
- <poi.version>4.1.2</poi.version> <!-- checked 2020-08 -->
- <jackson.version>2.13.3</jackson.version> <!-- checked 2021-12 -->
- <commons-logging.version>1.2</commons-logging.version> <!-- checked 2020-08 -->
- <slf4j.version>1.7.30</slf4j.version> <!-- checked 2020-08 -->
+ <poi.version>5.2.2</poi.version> <!-- checked 2022-06 -->
+ <jackson.version>2.13.3</jackson.version> <!-- checked 2022-05 -->
+ <!-- CAUTION when upgrading, 1.8x requires another log4j binding: https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/index.html -->
+ <slf4j.version>1.7.36</slf4j.version> <!-- checked 2022-06 -->
+ <log4j.version>2.19.0</log4j.version>
<jaxb.version>2.3.3</jaxb.version> <!-- checked 2020-08, there is a newer version 3.0.0-MX, not checked if compatible -->
<cglib.version>3.3.0</cglib.version>
- <aspectj.version>1.9.7</aspectj.version> <!-- checked 2022-01 -->
+ <aspectj.version>1.9.7</aspectj.version> <!-- checked 2022-05 -->
<geotools.version>23.2</geotools.version> <!-- checked 2020-08 -->
<dozer.version>6.5.2</dozer.version> <!-- checked 2021-02 -->
- <javax.mail.version>1.5.6</javax.mail.version> <!-- compatible to the one in spring-context-support/4.3.28.RELEASE -->
- <doclint>none</doclint>
+ <jakarta.mail.version>1.5.6</jakarta.mail.version> <!-- compatible to the one in spring-context-support/4.3.28.RELEASE -->
+ <doclint>none</doclint>
</properties>
<scm>
<name>JBoss Repository</name>
<url>https://repository.jboss.org</url>
</repository> -->
+ <!-- required for org.geotools:gt-opengis/gt-referencing/gt-epsg-wkt/gt-main -->
<repository>
<id>OSGeo Repository</id>
<url>https://repo.osgeo.org/repository/release/</url>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <!-- TODO #9919 upgrading to 3.x leads to test failures in model etc. -->
- <version>2.5.1</version>
+ <!-- TODO #6407#9919 upgrading to 3.x leads to test failures in model etc. -->
+ <!-- <version>3.10.1</version> -->
+ <version>2.5.1</version>
<configuration>
<source>${java.codelevel}</source>
<target>${java.codelevel}</target>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>3.0.0-M5</version> <!-- updated 2020-09 -->
+ <version>3.0.0-M7</version> <!-- updated 2022-06 -->
<configuration>
<argLine>-Xmx512M -Dfile.encoding=${project.build.sourceEncoding}</argLine>
<runOrder>alphabetical</runOrder>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0</version>
+ <version>3.1.0</version>
<executions>
<execution>
<id>enforce</id>
<artifactId>jakarta.activation-api</artifactId>
<version>1.2.2</version>
</dependency>
- <!-- JAB END -->
+ <!-- JAXB END -->
<dependency>
<!-- only for version management org.apache.ant:ant depends in different versions from
<version>${slf4j.version}</version>
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-slf4j-impl</artifactId>
+ <version>${log4j.version}</version>
</dependency>
- <dependency>
- <!-- try to generally exclude -nop as we try to use log4j12, this is done already for unitils -->
+ <!-- dozer depends on jcl-over-slf4j -->
+ <dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-nop</artifactId>
+ <artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
+
<!-- ******* testing ******* -->
<dependency>
<groupId>junit</groupId>
<version>${unitils.version}</version>
<!-- <scope>test</scope> unscoped since we need this dependency at
compile time in persistence for H2DbSupport.java -->
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-database</artifactId>
<version>${unitils.version}</version>
- <!-- <scope>test</scope> -->
+ <scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>hibernate</artifactId>
</exclusion>
<exclusion>
+ <!-- we use log4j-slf4j-impl -->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
</exclusion>
higher number needed for compatibility with current hibernate and Java 1.6
PreparedStatement -->
<dependency>
+ <!-- currently still needed by cdmlib-persistence, once removed, scope should be set to test -->
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
<!-- <scope>test</scope> -->
+ </dependency>
+ <dependency>
+ <!-- currently still needed by cdmlib-persistence commons-dbcp dependency, once removed, scope should be set to test -->
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ <version>1.6</version>
+ <!-- <scope>test</scope> -->
</dependency>
<dependency>
<groupId>eu.etaxonomy</groupId>
<artifactId>cdmlib-test</artifactId>
- <!-- <scope>test</scope> -->
+ <scope>test</scope>
<version>${project.version}</version>
</dependency>
<dependency>
</dependency>
<dependency>
+ <!-- should not be in use anymore -->
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ <version>${log4j.version}</version>
+ </dependency>
+
<dependency>
<groupId>net.sf.opencsv</groupId>
<artifactId>opencsv</artifactId>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpcomponents.version}</version>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>checker-qual</artifactId>
<version>3.21.1</version>
</dependency>
- <!-- only for version management, poi currently requires 1.6, commons-logging
- 1.1.1 requires 1.6, so we update here to the latest version -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
- <!-- only for version management, httpcore:4.2.4, commons-beanutils:1.8.3,
- httpclient:4.2.3, spring-modules-cache
- require 1.1 and batik-ext requires 1.0.4, so we update here to the latest
- version 1.1.2, poi and springframework require 1.1.3 -->
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>${commons-logging.version}</version>
- </dependency>
<!-- only for version management, hibernate-commons-annotations:4.0.1.Final
requires 3.1.0.CR2 , so we update
here to the latest version 3.4.1.Final -->
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
- <version>3.5.0.Final</version>
- <!-- checked 2020-08 -->
+ <!-- v3.5.0.Final requires java11 -->
+ <version>3.4.3.Final</version>
+ <!-- checked 2022-05 -->
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<version>2.4</version>
<!-- classifier required as json-lib exists on maven central as json-lib-2.4-jdk15.jar and xxx-jdk13.jar, see #9887 -->
<classifier>jdk15</classifier>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- media -->
<dependency>
<artifactId>iiif-apis</artifactId>
<version>0.3.9</version>
</dependency>
-<!-- <dependency> -->
-<!-- only for version management iterators depends in different versions from -->
-<!-- de.digitalcollections.iiif:iiif-apis:0.3.9 -->
-<!-- <groupId>org.dmfs</groupId> -->
-<!-- <artifactId>iterators</artifactId> -->
-<!-- <version>1.5</version> -->
-<!-- </dependency> -->
- <!-- -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.module</groupId>
+ <artifactId>jackson-module-parameter-names</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml-schemas</artifactId>
+ <artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
- <artifactId>poi-ooxml</artifactId>
+ <artifactId>poi-ooxml-lite</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
- <artifactId>ooxml-schemas</artifactId>
- <version>1.4</version>
+ <artifactId>poi-ooxml-full</artifactId>
+ <version>${poi.version}</version>
+ </dependency>
+ <dependency>
+ <!-- indirect poi-schema and doxia dependency -->
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>2.6.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>2.1.1</version>
</dependency>
<!-- <dependency> -->
<!-- maybe needed in cdmlib-io, see https://poi.apache.org/help/faq.html question 3 on when to use ooxml-schemas and when poi-ooxml-schemas -->
<!-- <version>1.4</version> -->
<!-- </dependency> -->
<dependency>
- <!-- only for version management xmlbeans depends in different versions from
- org.apache.poi:poi-ooxml-schemas:3.13 and org.apache.poi:ooxml-schemas:1.4 -->
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
- <version>3.1.0</version>
+ <version>5.0.3</version>
<!-- checked 2020-08 -->
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
- <artifactId>docx4j</artifactId>
- <version>6.1.2</version>
+ <artifactId>docx4j-JAXB-Internal</artifactId>
+ <version>8.3.7</version>
</dependency>
<dependency>
- <!-- only for version management jcl-over-slf4j depends in different versions from
- org.docx4j:docx4j:6.0.1 and org.apache.jena:jjena-tdb:1.1.2 -->
- <groupId>org.slf4j</groupId>
- <artifactId>jcl-over-slf4j</artifactId>
- <version>1.7.25</version>
+ <!-- dependency of guava and docx4j -->
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_annotations</artifactId>
+ <version>2.14.0</version>
</dependency>
<dependency>
<!-- only for version management xalan depends in different versions from
org.docx4j:docx4j:6.0.1 and org.apache.xmlgraphics:fop:1.1 -->
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
- <version>2.6</version>
+ <version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-imaging</artifactId>
- <version>1.0-alpha2</version>
+ <version>1.0-alpha3</version>
</dependency>
<dependency>
<groupId>org.cybertaxonomy.media</groupId>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
- <version>2.10.9.2</version>
+ <version>2.10.6</version>
</dependency>
<!-- ******* XML ******* -->
<dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
- <version>2.12.1</version>
- <!-- checked 2021-12 -->
+ <version>2.12.2</version>
+ <!-- checked 2022-06 -->
</dependency>
- <!-- >batik-ext required by Xerces 2.11.0 for class ElementTraversal,
- as this is not included anymore in xml-apis 2.x -->
-<!-- <dependency> -->
-<!-- <groupId>org.apache.xmlgraphics</groupId> -->
-<!-- <artifactId>batik-ext</artifactId> -->
-<!-- <version>1.13</version> -->
-<!-- </dependency> -->
<dependency> <!-- required by cdmlib-print -->
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
- <version>2.6</version>
+ <version>2.7</version>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.odftoolkit</groupId>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
- <version>10.6</version>
+ <version>11.3</version>
</dependency>
<!-- ******* http components (ViBRANT)******* -->
<dependency>
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
- <version>5.1.0.Final</version>
+ <version>5.1.2.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-engine</artifactId>
<version>${hibernate-search.version}</version>
</dependency>
+
<dependency>
- <groupId>org.javassist</groupId>
- <artifactId>javassist</artifactId>
- <version>3.28.0-GA</version>
+ <!-- used by hibernate as bytecode provider framework -->
+ <groupId>net.bytebuddy</groupId>
+ <artifactId>byte-buddy</artifactId>
+ <version>1.12.10</version>
</dependency>
- <!-- dependenc of hibernate-core and hibernate-search -->
+ <!-- dependency of hibernate-core -->
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
<version>1.1.1.Final</version>
</dependency>
+ <dependency>
+ <!-- dependency of iiif-apis (and still by hibernate but will be removed in v5.6 as hibernate uses bytebuddy) -->
+ <groupId>org.javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <version>3.29.0-GA</version>
+ </dependency>
<!-- ******* SPRING ******* -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
- <version>3.0.0</version>
- <!-- checked 2020-08 -->
+ <version>3.0.2</version>
+ <!-- checked 2022-06 -->
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<!-- managing version of plexus-utils to avoid multiple versions (3.0.15, 1.4.5) of the artifact -->
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
- <version>3.4.1</version>
- <!-- checked 2022-01 -->
+ <version>3.4.2</version>
+ <!-- checked 2022-06 -->
</dependency>
<!-- swagger (rest service doc) -->
<dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
- <version>3.0.5</version>
+ <version>3.0.6</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
- <version>42.3.6</version>
+ <version>42.5.1</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>9.4.1.jre8</version>
- </dependency>
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>${hsqldb.version}</version>
</dependency>
<dependency>
<!-- SQL Server and Sybase -->
<!-- Email functionality (used in cdmlib-services) -->
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
- <version>${javax.mail.version}</version>
+ <version>${jakarta.mail.version}</version>
</dependency>
<dependency>
<!-- only needed for PasswordResetService, may be replaced by Thymeleaf, but also needed in TaxEditor cdmlib modul -->
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
- <version>1.9</version>
+ <version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.passay</groupId>