Skip to content

Conversation

@aaronbrethorst
Copy link
Member

This commit upgrades the project from Java 11 to Java 17 with all
necessary dependency updates to ensure compatibility:

Core Changes:

  • Java source/target: 11 -> 17
  • maven-compiler-plugin: 3.8.1 -> 3.12.1
  • maven-surefire-plugin: 3.0.0-M3 -> 3.2.5

Framework Updates (keeping javax namespace for safety):

  • Spring: 5.2.24.RELEASE -> 5.3.39
  • Hibernate: 5.4.24.Final -> 5.6.15.Final
  • Jersey: 2.31 -> 2.41
  • Jackson: 2.12.0 -> 2.17.0

Dependency Updates:

  • ASM: 8.0.1 -> 9.6 (required for Java 17 bytecode)
  • SLF4J: 1.7.5 -> 2.0.12
  • Log4j: 2.17.2 -> 2.23.0
  • log4j-slf4j-impl -> log4j-slf4j2-impl (for SLF4J 2.x)
  • Guava: 16.0.1 -> 33.0.0-jre
  • Protobuf: 3.17.3 -> 3.25.3
  • HSQLDB: 2.3.2 -> 2.7.2
  • AspectJ: 1.7.3 -> 1.9.21
  • Javassist: 3.4.GA -> 3.29.2-GA
  • Lucene: 7.1.0 -> 9.10.0
  • JAXB: 2.3.3 -> 4.0.1/4.0.4

Servlet API Updates:

  • javax.servlet:servlet-api -> javax.servlet:javax.servlet-api:4.0.1
  • javax.servlet:jsp-api -> javax.servlet.jsp:javax.servlet.jsp-api:2.3.3
  • jstl: 1.1.2 -> 1.2

This upgrade maintains the javax namespace (not migrating to jakarta)
to minimize code changes while enabling Java 17 compatibility.

claude added 2 commits January 3, 2026 07:48
This commit upgrades the project from Java 11 to Java 17 with all
necessary dependency updates to ensure compatibility:

Core Changes:
- Java source/target: 11 -> 17
- maven-compiler-plugin: 3.8.1 -> 3.12.1
- maven-surefire-plugin: 3.0.0-M3 -> 3.2.5

Framework Updates (keeping javax namespace for safety):
- Spring: 5.2.24.RELEASE -> 5.3.39
- Hibernate: 5.4.24.Final -> 5.6.15.Final
- Jersey: 2.31 -> 2.41
- Jackson: 2.12.0 -> 2.17.0

Dependency Updates:
- ASM: 8.0.1 -> 9.6 (required for Java 17 bytecode)
- SLF4J: 1.7.5 -> 2.0.12
- Log4j: 2.17.2 -> 2.23.0
- log4j-slf4j-impl -> log4j-slf4j2-impl (for SLF4J 2.x)
- Guava: 16.0.1 -> 33.0.0-jre
- Protobuf: 3.17.3 -> 3.25.3
- HSQLDB: 2.3.2 -> 2.7.2
- AspectJ: 1.7.3 -> 1.9.21
- Javassist: 3.4.GA -> 3.29.2-GA
- Lucene: 7.1.0 -> 9.10.0
- JAXB: 2.3.3 -> 4.0.1/4.0.4

Servlet API Updates:
- javax.servlet:servlet-api -> javax.servlet:javax.servlet-api:4.0.1
- javax.servlet:jsp-api -> javax.servlet.jsp:javax.servlet.jsp-api:2.3.3
- jstl: 1.1.2 -> 1.2

This upgrade maintains the javax namespace (not migrating to jakarta)
to minimize code changes while enabling Java 17 compatibility.
The project has been upgraded to Java 17, so the CI workflow
needs to use JDK 17 instead of JDK 11 to build and test.
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

claude added 3 commits January 3, 2026 08:33
- Downgrade Lucene from 9.10.0 to 8.11.3 to restore CorruptIndexException
  class (removed in Lucene 9.x) and fix module name (lucene-analyzers-common)
- Change JAXB from jakarta.xml.bind 4.x to javax.xml.bind 2.3.1 to maintain
  javax.xml.bind.* namespace compatibility with existing code
- Update jaxb-runtime to 2.3.9 across all modules for consistency

These changes fix compilation errors when building with Java 17 while
maintaining API compatibility with existing code that uses javax.xml.bind
imports and Lucene 8.x APIs.
In Lucene 8.x, TopDocs.totalHits changed from int to TotalHits object.
Access the value via totalHits.value property.
Jackson 2.16+ added abstract method withCaches(CacheProvider) to
DefaultSerializerProvider. Implement it in CustomSerializerProvider
to maintain compatibility.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants