Title: OR-Tools Java + Firebase Admin (gRPC) causes runtime error: com/google/protobuf/Internal$IntListAdapter$IntConverter

20 views
Skip to first unread message

Francisco Lino

unread,
Jan 21, 2026, 1:15:20 PM (9 days ago) Jan 21
to or-tools-discuss

Hi everyone,
I’m running OR-Tools (Java) inside a Spring Boot backend and started seeing a runtime failure after upgrading Firebase Admin (to use FCM HTTP v1). OR-Tools was working fine before introducing/upgrading Firebase Admin.

Environment
  • Java: 11

  • Spring Boot: 2.3.3.RELEASE

  • OR-Tools: com.google.ortools:ortools-java:9.14.6206

    • com.google.ortools:ortools-darwin-aarch64:9.14.6206 (runtime)

  • Firebase Admin: com.google.firebase:firebase-admin:9.3.0

  • OS: macOS aarch64 (Apple Silicon)

Symptom

When calling an endpoint that triggers OR-Tools (routing/optimization), the server returns HTTP 500.
The error message is:

com/google/protobuf/Internal$IntListAdapter$IntConverter

This looks like a NoClassDefFoundError / missing Protobuf internal type at runtime.

What changed

The issue started only after upgrading/adding Firebase Admin (for FCM v1).
I’m not calling Firebase code in the failing path — the failure occurs when OR-Tools is executed, but the dependency graph/classpath changed due to Firebase (gRPC/Protobuf stack).

Evidence / Findings

I inspected my Spring Boot fat jar (target/u2d-0.0.1-SNAPSHOT.jar):

It contains:

  • BOOT-INF/lib/protobuf-java-4.27.1.jar

  • BOOT-INF/lib/protobuf-java-util-4.27.1.jar

  • BOOT-INF/lib/grpc-protobuf-1.62.2.jar

  • BOOT-INF/lib/grpc-protobuf-lite-1.62.2.jar ← unexpected

So grpc-protobuf and grpc-protobuf-lite are both present in the runtime classpath.

Also, inside protobuf-java-4.27.1.jar, the class below does not exist:
com/google/protobuf/Internal$IntListAdapter$IntConverter

(Confirmed by extracting the jar and grepping for Internal$IntListAdapter.)

Questions
  1. Has anyone seen OR-Tools Java fail with Internal$IntListAdapter$IntConverter when another stack introduces grpc-protobuf-lite / protobuf-javalite?

  2. Does OR-Tools require “full” Protobuf runtime (protobuf-java) and conflict with the “lite” runtime pulled by gRPC/Firebase?

  3. Is there a recommended Protobuf / gRPC version set for OR-Tools 9.14.6206 in Java to avoid these conflicts?

  4. Any guidance on how to exclude/avoid grpc-protobuf-lite (or align dependencies) when OR-Tools is used alongside Firebase Admin / Google Cloud libraries?

Happy to share mvn dependency:tree output for protobuf/grpc if helpful.

Thanks!


Reply all
Reply to author
Forward
0 new messages