Frode Carlsen created KAFKA-13027: ------------------------------------- Summary: Support for Jakarta EE 9.x to allow applications to migrate Key: KAFKA-13027 URL: https://issues.apache.org/jira/browse/KAFKA-13027 Project: Kafka Issue Type: Improvement Affects Versions: 2.8.0 Reporter: Frode Carlsen
Some of the kafka libraries (such as connect-api) have direct dependencies on older Java EE 8 specifications (e.g. javax.ws.rs:javax.ws.rs-api:2.1.1). This creates issues in environments upgrading to Jakarta 9.0 and beyond (9.1 requires minimum Java 11). For example upgrading web application servers such as migrating to Jetty 11. The main thing preventing backwards compatibility is that the package namespace has moved from "*javax.**" to "*jakarta.**", along with a few namespace changes in XML configuration files. (new specifications are published here [https://jakarta.ee/specifications/,] along with references to official artifacts and compliant implementations). >From KAFKA-12894 (KIP-705) it appears dropping support for java 8 won't happen >till Q4 2022, which makes it harder to migrate to Jakarta 9.1, but 9.0 is >still Java 8 compatible. Therefore, to allow projects that use Kafka client libraries to migrate prior to the full work being completed in a future Kafka version, would it be possible to generate Jakarta 9 compatible artifacts and dual publish these for libraries that now depend on javax.ws.rs / javax.servlet and similar? This is done by a number of open source libraries, as an alternative to having different release branches for the time being. Other than the namespace change in 9.0 and minimum java LTS version in 9.1, the apis are fully compatible with Java EE 8. As a suggestion, this fairly easy to do automaticallly using the [https://github.com/eclipse/transformer/] for migration (most projects end up publishing under artifacts with a either "-jakarta" as a suffix on the artifactId or classifier) -- This message was sent by Atlassian Jira (v8.3.4#803005)