Java 17 modules list

Cecil 70 Published: 10/09/2024

Java 17 modules list

I'd be happy to help!

Java 17 is the latest version of the Java programming language, released on September 14, 2022. One of the key features of Java 17 is the introduction of module system. This means that modules are a new way to organize and structure your code in a project.

Here's a list of Java 17 modules:

java.base: This module is considered the foundation for all other Java modules. It contains essential classes, such as String, List, and Map. java.compiler: This module provides APIs related to Java compilers, including Javac, and annotation processors. java.corba: This module includes classes and interfaces related to CORBA (Common Object Request Broker Architecture), which is an architecture for the development of object-oriented distributed systems. java.crypto: This module contains cryptographic-related classes and interfaces, such as Cipher, MessageDigest, and SecureRandom. java.datatransfer: This module provides APIs for transferring data between applications, such as Drag-and-Drop and clipboard operations. java.desktop: This module includes classes related to graphical user interfaces (GUIs), such as Swing, AWT, and Graphics2D. java.docbundle: This module contains tools and utilities for creating documentation and bundles of API documentation. java.enable.debug.log: This module allows you to enable debug logs in Java applications. java.logging: This module includes classes related to logging, such as Logger and LogRecord. java.management: This module provides APIs for managing resources on a system, such as process management and property management. java.module: This module contains APIs related to modules themselves, including the creation, modification, and deletion of modules. java.net.http: This module includes classes related to HTTP client and server APIs, such as HttpClient and HttpServer. java.prefs: This module contains APIs for managing user preferences and settings in Java applications. java.rmi: This module includes classes related to Remote Method Invocation (RMI), which is a protocol that allows you to make method calls on an object running in another process or machine, as if the method were called locally. java.scripting: This module provides APIs for scripting languages such as JavaScript and Groovy. java.se: This module includes classes related to Java Standard Edition (SE), which is a bundle of APIs that are commonly used for general-purpose programming. java.sql: This module contains APIs related to database management, including the JDBC (Java Database Connectivity) API. java.swing: This module includes classes related to Swing, which is a set of GUI components and tools for building GUI applications in Java. java.transaction.xa: This module provides APIs for transactional processing, including support for XA (Extensible Architecture) transactions. java.xml: This module contains APIs related to XML parsing and manipulation, including DOM (Document Object Model), SAX (Simple API for XML), and StAX (Streaming API for XML).

Please note that this is not an exhaustive list, as there might be additional modules in the future versions of Java 17 or previous releases.

Is javax compatible with Java 17

I'm happy to respond in English for once!

To answer your question: yes, the javax package is compatible with Java 17. In fact, the javax package has been maintained and updated throughout Java versions, including Java 17.

The javax package was introduced in Java 1.1 (around 1997) as a way to group related packages together under a single namespace. Over time, various javax packages have been added or removed as part of the Java Standard Library (JLS).

In Java 17, you can still use the same javax packages that were available in previous versions, such as:

javax.swing: for creating GUI applications

javax.servlet: for building web applications using servlets and JSPs javax.persistence: for working with databases using Java Persistence API (JPA) javax.xml: for working with XML documents

These packages, among others, continue to work as expected in Java 17, allowing you to develop applications that leverage their functionality.

That being said, it's worth noting that some older javax packages might not be fully compatible with Java 17 or might require additional configuration to work correctly. For example:

The javax.microedition package was deprecated in Java 11 and removed from the JLS in Java 14. You won't find this package in Java 17. Some older javax packages, such as javax.xml.registry, were part of the Java EE (Enterprise Edition) platform, which is no longer included with the JLS. These packages are not compatible with Java 17.

In summary, most javax packages available prior to Java 17 continue to work in Java 17. However, it's essential to verify compatibility and any potential changes or limitations when using these packages in your Java 17 applications.