Skip to content

Conversation

@slarson
Copy link
Member

@slarson slarson commented Jan 30, 2026

Summary

  • Create new Maven-based project (wormbrowser-appengine) targeting Java 17 runtime
  • Migrate servlet from javax.servlet to jakarta.servlet namespace
  • Add app.yaml for modern App Engine Java 17 configuration
  • Add Jetty plugin for local development testing
  • Update README with comprehensive deployment instructions

Why This Change

Google App Engine Java 8 runtime reaches end-of-support on January 31, 2026. This migration upgrades the wormbrowser to the modern Java 17 runtime to ensure continued operation.

Changes

Component Before After
Java Version 8 17
Servlet API javax.servlet 2.5 jakarta.servlet 6.0
Build System Eclipse/Ant Maven
App Engine Config appengine-web.xml app.yaml
SDK App Engine SDK 1.8.0 App Engine Maven Plugin 2.5.0

Test plan

  • Local build with mvn clean package - SUCCESS
  • Local Jetty server test at http://localhost:8080 - SUCCESS
  • Servlet endpoint /org_openworm_wormbrowser returns expected message
  • Static assets (JS, models, images) served correctly
  • Deploy to staging with mvn appengine:deploy -Dapp.deploy.promote=false
  • Verify staging at https://java17-v1-dot-wormbrowser-release.appspot.com/
  • Promote to production

Deployment Commands

cd wormbrowser-appengine

# Deploy to staging (no traffic)
mvn appengine:deploy -Dapp.deploy.promote=false

# Promote to production once verified
gcloud app services set-traffic default --splits=java17-v1=1 --project=wormbrowser-release

🤖 Generated with Claude Code

- Create new Maven-based project (wormbrowser-appengine)
- Migrate servlet from javax.servlet to jakarta.servlet
- Add app.yaml for Java 17 runtime configuration
- Add Jetty plugin for local development testing
- Update README with deployment instructions

This migration addresses the Java 8 runtime deprecation deadline
(Jan 31, 2026) by upgrading to the modern Java 17 App Engine runtime.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@slarson slarson requested a review from pgleeson January 30, 2026 15:55
@pgleeson
Copy link
Member

Thanks @slarson (and mr copilot...). I'll take a look!

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.

3 participants