Skip to content

Upgrade to Spring Boot 3.3 + Java 17 - #621

Merged
ZihengSun merged 10 commits into
mainfrom
feat/spring-boot-3-java-17
Aug 29, 2026
Merged

ZihengSun merged 10 commits into
mainfrom
feat/spring-boot-3-java-17

Conversation

@ZihengSun

Copy link
Copy Markdown
Member

Summary

  • Upgrade parent from Spring Boot 2.4.1 / Java 11 to Spring Boot 3.3.6 / Java 17 (runs on JDK 17–21+).
  • Migrate EE APIs javax.* → jakarta.* (JPA, Servlet, WebSocket, Transaction, Annotation).
  • Replace Springfox with springdoc-openapi; Security config moved to SecurityFilterChain.
  • Fix Boot-3 startup blockers: TaskManager/WorkerManager cycle (@Lazy), GoogleEarth RestTemplate self-bean cycle, duplicate SSH auth provider bean.
  • File upload uses Jakarta multipart API; tests updated for LocalServerPort package move.

Test plan

  • mvn -DskipTests package succeeds; target/geoweaver.jar produced
  • Smoke start on port 18073 returns HTTP 302 for /Geoweaver/
  • mvn -Dtest=JPAAnnotationsTest,FileUploadServletTest test
  • Full mvn test / Cypress on CI
  • After merge: rebuild latest geoweaver.jar so pygeoweaver release CI can use system JDK without pinning 11

Made with Cursor

ZihengSun and others added 10 commits August 26, 2026 23:35
Migrate from Boot 2.4/javax to Boot 3.3/jakarta so the app runs on modern JDKs used by CI and developer machines, replacing Springfox with springdoc and fixing Boot-3 security and circular-reference startup issues.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop unused FileItem import that broke Cypress CI testCompile, and document Java 17+ as the new minimum.

Co-authored-by: Cursor <cursoragent@cursor.com>
Latest Geoweaver requires Java 17+. Print a clear console warning and refuse to start on older JDKs, pointing users who cannot upgrade to Geoweaver 2.1.x releases.

Co-authored-by: Cursor <cursoragent@cursor.com>
Align history queries, CLOB mapping, dashboard date handling, and HTTP client setup so mvn clean install passes under Java 17.

Co-authored-by: Cursor <cursoragent@cursor.com>
Point the workflow at e2e/spec.cy.js, add skipIntroIfPresent/visitGeoweaver helpers, and remove the stale nested Cypress copy that ignored localhost login.

Co-authored-by: Cursor <cursoragent@cursor.com>
Hold the mocked download with a latch so PENDING/PROCESSING can be observed reliably before asserting COMPLETED.

Co-authored-by: Cursor <cursoragent@cursor.com>
Working-directory ./cypress made the default cypress/support path miss the real support file and abort the run.

Co-authored-by: Cursor <cursoragent@cursor.com>
Expand process-info-bar via Details before editing name/id, and click Run by title instead of a brittle onclick selector.

Co-authored-by: Cursor <cursoragent@cursor.com>
…aces.

Wait for add/process, open the python folder via collapse(show), and use stable name/run selectors before asserting console output.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ers.

Add a migration guide and refresh install, upgrade, README, logging, and mkdocs nav so users know when to use 2.2+ vs legacy 2.1.x.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ZihengSun
ZihengSun merged commit 56f0cfc into main Aug 29, 2026
1 check passed
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.

1 participant