Oracle Discontinues GraalVM Java Support, Shifts Focus to Python and JavaScript

BigGo Community Team
Oracle Discontinues GraalVM Java Support, Shifts Focus to Python and JavaScript

Oracle has announced a major shift in its GraalVM strategy, ending support for Java-related features while pivoting toward non-Java programming languages like Python and JavaScript. This decision has sparked confusion and concern within the developer community, particularly among those who rely on GraalVM's Native Image technology for creating standalone Java applications.

The announcement marks the end of an era for GraalVM's Java integration. Oracle JDK 24 will be the final release to include the experimental Graal JIT compiler, and GraalVM for JDK 24 represents the last version licensed as part of Oracle's Java SE products. Moving forward, Oracle is discontinuing Native Image technology for Java SE customers, directing them instead to explore upcoming features in OpenJDK's Project Leyden.

What's Being Discontinued:

  • GraalVM for Java SE Product customers (commercial support)
  • Graal JIT compiler in Oracle JDK (after JDK 24)
  • Native Image technology for Java SE customers
  • Java-focused development in GraalVM team

Community Confusion Over Oracle's Messaging

The developer community has expressed significant confusion about Oracle's poorly worded announcement. Many developers initially interpreted the news as a complete shutdown of GraalVM, leading to concerns about the future of their Java-to-native compilation workflows. The ambiguous language in Oracle's statement has left developers uncertain about whether free GraalVM versions will continue to exist or if the entire project is being abandoned.

It's poorly worded. Graal and NI aren't going anywhere. The wording is this: 'Native Image, is being discontinued for Java SE Product customers.' That means that it will no longer be included as a product for the OracleJdk that you would pay and subscribe to.

This confusion highlights a broader communication issue, as developers expected clearer guidance on migration paths and alternative tools for their existing workflows.

Strategic Shift Raises Questions

Oracle's decision to abandon Java support while expanding into Python and JavaScript territories has puzzled industry observers. The move appears counterintuitive given Oracle's position as the steward of Java and the growing demand for native compilation in cloud and serverless environments. Critics question whether there's sufficient market demand for Oracle-backed Python and JavaScript runtimes, especially when established alternatives already dominate these ecosystems.

The timing of this shift coincides with Oracle's integration of successful GraalVM optimizations into the standard HotSpot JVM and progress on Project Leyden, suggesting that Oracle may view the core Java-related innovations as sufficiently mature for mainstream adoption.

Key Timeline Events:

  • 2022: Oracle announced plan to align GraalVM with Java development
  • 2023: GraalVM adopted Java release cadence
  • 2024: Oracle included Graal JIT as option in Oracle JDK
  • JDK 24: Final release to include experimental Graal JIT
  • JDK 25: Will include JEP 514 (Ahead-of-Time Command-Line Ergonomics) and JEP 515 (Ahead-of-Time Method Profiling)

Migration Path and Future Alternatives

Oracle is encouraging GraalVM users to transition to standard Oracle JDK or OpenJDK releases. For developers seeking ahead-of-time compilation features, Oracle points to upcoming enhancements in JDK 25, including JEP 514 for ahead-of-time command-line optimizations and JEP 515 for ahead-of-time method profiling. Project Leyden's ongoing work on ahead-of-time code compilation represents Oracle's long-term vision for native Java performance improvements.

However, this transition period leaves many developers in limbo, particularly those building lightweight services that depend on GraalVM's ability to create standalone native binaries without requiring a full Java runtime installation.

The announcement reflects Oracle's broader strategy of consolidating successful experimental technologies into mainstream Java while exploring new opportunities in the polyglot programming landscape. Whether this gamble on non-Java languages will pay off remains to be seen, but the immediate impact on the Java community is clear: a period of uncertainty and forced migration for GraalVM adopters.

Reference: Detaching GraalVM from the Java Ecosystem Train