我有一个maven java项目。SDK是Java8,现在我想升级到Java11。我还想将所有依赖项升级到最新的依赖项。这是一个spring项目(不是spring boot!!)
我可以解决所有不同的升级问题,但是在实体管理器工厂中设置持久性提供程序类时出错。
@Bean(name = "entityManagerFactory")
@DependsOn("flyway")
public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() throws ClassNotFoundException {
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
entityManagerFactoryBean.setDataSource(dataSource());
entityManagerFactoryBean.setPackagesToScan(environment.getRequiredProperty(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN));
entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
...
}
HibernatePeristenceProvider.class
实现了jakarta.persistence.spi.PeristenceProvider
然而,setPersistenceProviderClass
方法需要一个javax类。坚持不懈spi。PersistenceProvider
我有过
<org.springframework.version>5.3.19</org.springframework.version>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.0.0.Final</version>
</dependency>
还有一件事对我来说很奇怪。在IntelliJ中,当我打开AbstractEntityManagerFactoryBean
的类时,它说字节码版本是java 8,但HibernatePeristenceProvider
是java 11
根据maven存储库的信息,您的
5.3.19
的spring-orm veron带有版本2.6.4
的spring-data-jpa
,然后与hibernate-core
的依赖项捆绑在一起,其中要使用的支持版本是5.6.0。最终
。
根据Spring留档
版本5.3.19
从Spring Framework 5.1开始,Spring需要JDK 8(Java SE 8),并为JDK 11 LTS提供现成的支持
因此,根据maven repo文档和spring文档,应该使用的版本是hibernate core
5.6.0。最终版
。
请记住,java是向后兼容的,这意味着使用以前的JDK
编译的项目在大多数情况下都可以在较新的JDK
中运行,除非某些结构组件受到影响,因此您需要查看oracle迁移文档以了解您的情况。
但是对于您在这里提到的具体问题和您的担忧,我将使用提到使用hibernate核心的文档。Final
,根据它,您不应该期望JDK 11出现任何问题。
介绍云联壹云产品如何进行升级操作。 升级介绍 本文档介绍如何从 云联壹云 2.13.x版本升级到3.2.x版本。 云联壹云 3.x版本不同于2.x版本采用传统部署方法运行CentOS系统上,而是基于Kubernetes Operator技术部署运行在Kubernetes上,并将平台服务组件等容器化部署运行在Kubernetes集群。 升级前准备 本次升级为停服升级,即控制节点和计算节点都将关闭并禁
我尝试升级Apache Zeppelin以使用Flink 1.4.2。检查Flink Zeppelin解释器的源代码时,我没有发现任何从Flink版本的角度来看似乎是材料的东西,所以我只是将pom文件中的Flink verion更新为1.4.2,并从源代码运行了一个新的构建,令人惊讶地工作。运行Flink batch示例笔记本(或我自己的流媒体示例),我发现以下错误,我无法正确理解 如果能了解我们
我正在尝试从
我特别关心迁移,因为在我的代码之后,用于迁移的API似乎发生了一些变化,而且我不确定如果我只是更新我的版本,我的迁移是否会中断。不幸的是,他们的网页上没有关于升级Realm版本的文档。 有没有人有升级领域的经验,特别是一个版本比两个主要版本增加?
我刚开始穿春靴。我正在尝试将spring boot 1.5.10升级到2.1.11。现在我有这个错误,我不知道如何修复它 重新启动应用程序类时发生异常。 线程“main”java.lang.Reflect.InvocationTargetException在sun.reflect.nativeMethodAccessorImpl.Invoke(nativeMethodAccessorImpl.ja
-djava.endorsed.dirs.....不支持。通过可升级模块的概念,支持模块化形式的认可标准和独立API。 那么,我该怎么解决呢?