Open Liberty是否支持使用jakarta包命名空间?
关于Open Liberty对jakarta.persistence的支持说明
可以在Open Liberty中正常使用jakarta.persistence命名空间的JPA包,你查阅到的依赖javax命名空间的教程,对应的是Open Liberty早期支持Java EE规范的旧版本,新版Open Liberty已经完整适配Jakarta EE规范,原生支持jakarta.*前缀的API包。
具体使用注意事项如下:
- Open Liberty 21.0.0.12及更高版本已经完整支持Jakarta EE 9+规范,其中JPA 3.0及以上版本的官方包命名空间就是jakarta.persistence,可直接兼容使用
- 你需要在服务器配置
server.xml中启用对应版本的JPA特性,不要使用旧版jpa-2.2等javax命名空间对应的特性:- 如需使用JPA 3.0,启用
jpa-3.0特性 - 如需使用JPA 3.1,启用
jpa-3.1特性 - 如需使用JPA 3.2,启用
jpa-3.2特性
- 如需使用JPA 3.0,启用
注意:不要同时启用旧版javax命名空间的JPA特性和新版jakarta命名空间的JPA特性,否则会出现类加载冲突
- 如果你的项目使用Maven或Gradle引入依赖,确保引入的JPA API包版本为3.0及以上,不要混用javax.persistence的旧包,示例Maven依赖配置如下:
<dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.2.0</version> <scope>provided</scope> </dependency>
- 代码中的所有JPA相关注解、类引用都统一使用jakarta.persistence包下的类即可,Open Liberty运行时会自动匹配对应的实现类,不需要额外调整配置
内容的提问来源于stack exchange,提问作者r-uu
相关产品推荐
相关产品推荐

