当前位置: 首页 > 知识库问答 >
问题:

运行带有jdk17的Java 8批处理时出错

贺博厚
2023-03-14

我试图用jdk17运行一个Java8批处理,该项目是用JRE1.8.0_192构建的,我在VM中添加了以下选项:

--add-modules=all-system--add-opens=java.base/java.lang=all-unnamed--add-opens=java.base/java.math=all-unnamed--add-opens=java.base/java.net=all-unnamed--add-opens=java.base/java.net=all-unnamed--add-opens=java.base/java.util=all-unnamed--add-opens=java.base/java.un.tools.attach=all-unnamed

我在运行时得到以下错误:

nullPointerException:无法调用“object.getclass()”,因为“obj”在java.lang.reflect.method.invoke(Method.java:561)~[?:?]在org.springframework.aop.support.aoputils.invokeJoinpointusingReflection(aoputils.java:333)~[spring-aop-4.3.25.release.jar:4.3.25.release]在org.springframework.aop.framework.reflectiveMethodInvocation.invokeJoinpointeinpointeinpoint(reflectiveMethodInvocation.java:190)~[spring-aop-4.3.25.release.jar 25.发布]在org.springframework.batch.core.configuration.annotation.simpleBatchConfiguration$passthruadvice.invoke(SimpleBatchConfiguration.java:127)~[spring-batch-core-3.0.10.release.jar:3.0.10.release]在OP-4.3.25.release.jar:4.3.25.release]

有什么想法吗?谢谢

共有1个答案

禹智渊
2023-03-14

Spring4.3与Java6到8兼容,更高的版本没有经过测试,因此不受支持。

有关具有JDK兼容性的Spring版本的列表,请参见Spring/JDK兼容性矩阵。

要使用JDK17运行,您需要升级到Spring5.3。

 类似资料:
  • 在为windows 7 64位运行jmeter(4.0版)批处理文件时,我发现以下错误:findstr未被识别为Internal或外部命令、可操作程序或批处理文件。找不到java可执行文件或版本我已将系统变量也设置为“C:\apache-jmeter-4.0\bin”,并检查是否安装了java版本和JDk(9.4版本)。

  • 我有一个包含项目列表的大文件。 我想创建一批项目,用这个批次做一个HTTP请求(所有的项目都需要作为HTTP请求中的参数)。我可以用循环很容易地做到这一点,但是作为Java8爱好者,我想尝试用Java8的Stream框架来编写这个(并获得延迟处理的好处)。 例子: 我想做一些事情沿着< code>lazyFileStream.group(500)线。映射(processBatch)。collect

  • 我在我的项目中集成了Spring Batch,我在运行JobLauncher时遇到了问题。 在我的类JobLauncher我有这个: 对于配置,我使用XML配置: 配置批处理。xml: 在作业配置中。我有: 当我在类JobLauncher中调试时,它会在jobLuancher中停止。运行,我也不例外,似乎SpringBatch无法识别reader和whriter!!有什么建议吗?

  • 我必须在表中的一些配置数据库中爬行。其中每个记录指定要从中读取的模式。因此,我们必须对表格进行投票,并适当地运行作业。 考虑使用Spring批处理(JdbcPagingItemReader)从所有配置的模式中读取数据。如果我必须配置它,如何使用Spring批处理? 我应该使用不同的读取器为每个数据库读取多个作业,还是有什么方法可以在运行时发送数据源以供Spring Batch读取数据? 如何为单个

  • 我正在学习spring batch,并试图理解在异常期间项目处理器是如何工作的。 我试图通过在我的项目处理器中为一条记录手动抛出异常来模拟异常 现在根据跳过限制,当异常被抛出时,项目处理器将重新处理块并跳过抛出错误的项目,项目写入也将所有记录插入数据库,除了一条异常记录。 这一切都很好,因为我的处理器,它只是转换为大写字母名称,它可以运行很多次,但影响很大。 其他的选择是什么?

  • 我正在尝试使用STS(SpringSource工具套件)中的简单Spring批处理项目模板运行示例Spring批处理项目。 为此,我在Eclipse中运行了以下步骤: 右键单击->新建->其他选择的SpringSource工具套件->Spring模板项目->简单Spring批处理输入了一个相关的项目名和包名 然后尝试使用 看起来没有找到和/或正确加载HSQLDB驱动程序。 我已经检查了Maven依