InfoQ Java Trends Report 2025: AI, Modernization, and Ecosystem Evolution

java development

Explore the InfoQ Java Trends Report 2025, detailing key advancements in AI on the JVM, the impact of Java 25 LTS, legacy application modernization, Jakarta EE developments, and evolving community perspectives.

This report summarizes the InfoQ Java editorial team's current perspective on technology adoption and emerging trends within the Java ecosystem. The focus encompasses Java as a language, alongside related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and various Java-based frameworks and utilities. It discusses trends in core Java, including new Java version adoption, and the evolution of frameworks such as the Spring Framework, Jakarta EE, Quarkus, Micronaut, Helidon, and MicroProfile.

The primary goals of this report are:

  • To assist technical leaders in making mid- to long-term technology investment decisions.
  • To help individual developers choose where to invest their valuable time and resources for learning and skill development.

This marks the seventh published Java trends report, building on internal tracking of Java and JVM trends since 2006.

To navigate current and future trends, InfoQ and QCon utilize Geoffrey Moore's "crossing the chasm" mental model. This framework helps identify ideas within the "early market," characterized by technology enthusiasts and visionaries seeking to leverage opportunities or address impending problems.

For 2025, the internal topic graph reflects current trends:

For context, the internal topic graph for 2024 was:

Key Takeaways

  1. AI on the JVM Accelerates: New frameworks like Embabel, Koog, Spring AI, and LangChain4j are rapidly driving the adoption of AI-native and AI-assisted development in Java.
  2. Java 25 Anchors a Modern Baseline: The new LTS release improves readability, concurrency, and performance, while major frameworks standardize on Java 17 and higher.
  3. Modernization Surges: Organizations are prioritizing the update of legacy applications and outdated Java versions, with OpenRewrite emerging as a dominant automation tool.
  4. Enterprise Java Advances: Jakarta EE 11 stabilizes with broad adoption, and early work on Jakarta EE 12, particularly Jakarta Query, pushes the platform forward.
  5. Community and Deployment Shifts: Java community engagement is growing, while enterprises increasingly explore hybrid, regional, or on-premise deployment strategies.

Innovators

  • Embabel Agent Framework and Koog: Introduced in Q2 2025, these new open-source agent platforms for the JVM, created by Rod Johnson and JetBrains respectively, enable developers to build and run AI agents.
  • Project Leyden: The first three features under Project Leyden have been delivered in 2025 with Java 24 and Java 25, aiming to improve startup time, time-to-peak performance, and footprint. A fourth feature is planned for Java 26.
  • Spring Boot 4.0 and Spring Framework 7.0: Released in November 2025, these GA versions deliver API versioning, resilience, and null-safe annotations from JSpecify.
  • Jakarta EE 12: Work commenced in early 2025, including creation and plan reviews for 24 specifications. Four new specifications have been added, with Jakarta Query already accepted into the Platform and Web Profile. The anticipated release is July 2026.

Early Adopters

  • Jakarta EE 11: Moves to this category as many Java projects (Open Liberty, WildFly, Payara, GlassFish) have certified compatible implementations.
  • OpenRewrite: Debuts in this category, widely used for modernizing projects, including javax to jakarta namespace migrations and TCK upgrades.
  • GraalPy and GraalWasm: Now stable and suitable for production workloads with the release of GraalVM for JDK 23, having previously been experimental features.
  • MCP Java SDK: Introduced in December 2024, this SDK enables Java applications to interact with AI models via a standardized interface supporting synchronous and asynchronous communication.
  • Spring AI 1.0: Delivered in May 2025, it offers a ChatClient interface supporting twenty AI models with multi-modal inputs, an Advisors API for prompt modification, and full support for the Model Context Protocol (MCP).

Java and Artificial Intelligence

Experts note an increasing focus on using Java for AI, with emerging tools and evolving frameworks like Langchain4j. The introduction of new agent platforms for the JVM, such as Embabel and Koog, expands options for AI development. This trend also highlights a re-emphasis on software engineering practices, with spec-driven development integrating good practices into AI-driven development. As AI generates more code, readability remains crucial, driving Java language and tool evolution for better code clarity.

It is observed that AI has become a practical reality, manifesting in two distinct ways: AI-powered development tools that enhance developer productivity, and AI embedded within applications. While Python may be a common starting point for AI, Java is increasingly favored for running business-critical, large-scale AI applications due to its strong typing, reliability, and mature ecosystem. Frameworks like LangChain4j and Spring AI enable confident production deployment, integration, and scaling of AI in Java.

The pervasive impact of AI is transforming developer workflows, with AI assisting in coding, explaining projects, writing specifications and documentation, fixing builds, and tuning production systems. This raises questions about future automation: will fewer developers produce the same code, will current developers create more, or will more developers write significantly more code? A key question also arises regarding the eventual role of business analysts in directing AI when it becomes sufficiently advanced.

Java 25 and Beyond

Java 25, released in September 2025, is the current long-term support release, marking the continued success of the six-month release cadence. The Java community now anticipates high-quality releases with interesting features on predictable dates.

The latest LTS release, Java 25, brings numerous language improvements. Features like Compact Source Files and Instance Main Methods simplify learning for beginners and expedite prototyping for experienced programmers, allowing code expansion as needs grow. Enhancements such as Structured Concurrency (in preview) and improved pattern matching (e.g., Primitive Types in Patterns, instanceof, and switch, also in preview) make the language more expressive, easier to write, and clearer to read. Beyond language features, Java 25 also delivers performance improvements, offering immediate benefits upon JDK updates, even without leveraging new language features. Updating code to utilize these features further maximizes advantages.

Frameworks and libraries are increasingly supporting or requiring newer Java versions, with Java 17 emerging as a new baseline for Spring, JUnit, Gradle 9, and the upcoming Maven 4. The Spring team also advocates for Virtual Threads, introduced in Java 21, and the adoption of JSpecify annotations by projects like Spring and JUnit highlights the co-evolution of the language and its ecosystem.

Project Leyden, after a slow start, has begun delivering features designed to enhance startup time, time-to-peak performance, and the footprint of Java programs. Key features like Ahead-of-Time Class Loading & Linking (Java 24), Ahead-of-Time Method Profiling, and Ahead-of-Time Command-Line Ergonomics (Java 25) have been released, with Ahead-of-Time Object Caching with Any GC targeted for JDK 26.

Modernization of Legacy Java Applications

There is a clear rise in demand for Java application modernization. Many teams are migrating older applications, such as Swing-based apps, to web browsers using modern frameworks like Vaadin. Organizations are also addressing accumulated technical debt, navigating complex framework updates, and enhancing supply chain security by focusing on vulnerabilities in their software stacks.

A significant driver for modernization is updating Java versions, as many teams still operate on versions prior to Java 8. Tools like OpenRewrite are proving invaluable, offering a realistic and reliable path for deterministic upgrades to newer Java versions and keeping frameworks such as Spring Boot, Quarkus, and Micronaut up-to-date. This comprehensive approach to technical debt, security, and platform modernization has become a major and accelerating trend.

The pace of change in Java and major libraries is accelerating, with an industry-wide push towards current JDK and library versions. This has led to major libraries requiring relatively current technologies, simplifying management of applications across their lifecycle.

Jakarta EE

The release of Jakarta EE 11 has arrived, following an upgrade of its outdated Technology Compatibility Kit (TCK) involving migrations from Ant to Maven and Test Harness to Arquillian using OpenRewrite. This upgrade led to a staggered release: Core Profile in December 2024, Web Profile in April 2025, and the Platform in June 2025, aiming for a more efficient release process for Jakarta EE 12 and future versions.

Community Perspectives on the State of Java

In the Java community, AI remains a dominant topic. While concerns existed about Java's relevance compared to Python in AI, the emergence of numerous libraries and frameworks now facilitates idiomatic and effective AI functionality within Java applications. This is particularly valuable for the vast majority of developers building enterprise applications with AI features.

Community discussions also center on the continued evolution of the language and ecosystem, evidenced by recent releases like JUnit 6, Spring Boot 4 / Spring Framework 7, and the anticipated Maven 4. The ongoing advancements make software development easier and foster a vibrant environment for sharing favorite tools and practices.

A significant shift observed in the community is regarding cloud strategies. While previous years focused on cloud adoption, there's a growing trend towards on-premise deployments or the use of regional/European cloud providers. This shift is driven by considerations of sovereignty, compliance (especially in Europe), data privacy, regulatory requirements, and control over infrastructure, influencing how Java workloads are deployed and run.

Discussions frequently highlight Java's growing presence in the AI world through frameworks like Langchain4j and its application in RAG tools and MCP servers. The potential for building AI agents on the JVM with frameworks like Embabel suggests Java is well-suited for agentic AI solutions, positioning it as a strong competitor to Python in the AI space.

Modernization is a key focus, particularly how companies manage the full lifecycle of applications – running, building, maintaining, and retiring them. These conversations are rooted in business concepts like time to market, return on investment, and cost management. Java often emerges as a favorable choice due to its ability to continuously leverage and grow the investment that was made in Java over a decade ago, and then to be able to do the same thing years from now.

Unexpected Developments in the Java Ecosystem

  • Simplified "Hello World": Features like Compact Source Files and Instance Main Methods reduce boilerplate, making Java more accessible for beginners and quicker for prototyping, without altering existing functionality for experienced developers.
  • Legacy Application Revival: A surprising trend involves the "resurrection" of very old applications, with companies upgrading from versions as early as Java 7 as part of replace/retire decisions, opting to carry Java apps forward.
  • Product-Market Fit for Generative AI in Software Development: Software development has found a strong product-market fit for generative AI due to abundant training material, robust checks (compilation, linters, tests), and the high cost of developers, incentivizing automation. While currently increasing developer productivity, the long-term impact warrants consideration.
  • Carbon-Aware Job Processing: The JobRunr 8.0 release in July 2025 introduced carbon-aware job processing, an unexpected innovation focusing on optimizing carbon footprints for scheduled jobs using data from European energy providers (currently not available in the US).

Personal Excitement in the Java Space

  • Project Loom and Structured Concurrency: The advancements in Project Loom and structured concurrency are highly anticipated for enabling safer and more scalable applications by simplifying concurrent and parallel code.
  • Ease of Learning and Use, Community Engagement: The continuous evolution of the Java language to be easier to learn and use, along with tools for code comprehension, are seen as significant benefits for developers, especially as AI generates more code requiring maintenance. Active participation in the wider Java community, sharing knowledge at conferences, and collaborative learning are also sources of excitement.
  • Vibrant Community and Global Collaboration: The Java community is experiencing a resurgence, particularly with the growth of local Java User Groups (JUGs) and the success of conferences like JCON Europe, which fosters in-person interaction and global collaboration.
  • GraalVM Capabilities: The impressive possibilities offered by GraalVM, such as compiling Java applications to WebAssembly to run Spring Boot in a web browser, are a source of great excitement, showcasing innovative applications of Java.
  • Automated Modernization Tools: Tools that automate the previously tedious work of upgrading Java versions, frameworks, and libraries are highly valued. They free engineers from routine tasks, allowing them to focus on new development and making older applications feel current. This is particularly welcoming for junior developers familiar with modern technologies.
  • Investment in AI: Some experts express personal excitement by focusing their investment of time and resources into AI, believing it offers a greater productivity increase (at least fifty percent) compared to new versions of languages or frameworks (which might offer ten percent at best).
  • Jakarta Query Specification: The new Jakarta EE specification, Jakarta Query, which passed creation and plan review in early 2025 and was voted into Jakarta EE 12 Platform and Web Profile, is exciting for its potential to unify data-related specifications like Jakarta Persistence Query Language and Jakarta Data Query Language.

Conclusion

The viewpoints presented offer a partial perspective; diverse groups, segments, and locales within the Java ecosystem may have different experiences. This report for 2025 is intended as a starting point for discussion, inviting open dialogue about the industry's direction rather than a definitive statement.