java - (已关闭)Maven 在 Java 11 中不起作用我应该降级吗?
问题描述
我一直在尝试解决这个问题 3 个小时,但我不知道问题是什么。
作为参考,我正在运行 Java 11,并且正在使用 java parbolied 1.18。这是我花了很多时间的错误:
Exception in thread "main" java.lang.RuntimeException: Error creating extended parser class: null
at org.parboiled.Parboiled.createParser(Parboiled.java:58)
at com.mycompany.myname.Main.main(Main.java:15)
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.parboiled.transform.AsmUtils.createClassReader(AsmUtils.java:56)
at org.parboiled.transform.ClassNodeInitializer.process(ClassNodeInitializer.java:62)
at org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:44)
at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:39)
at org.parboiled.Parboiled.createParser(Parboiled.java:54)
... 1 more
这是 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-
4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>MyName</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.parboiled/parboiled-java -->
<dependency>
<groupId>org.parboiled</groupId>
<artifactId>parboiled-java</artifactId>
<version>1.1.8</version>
</dependency>
</dependencies>
</project>
解决方案
问题位于使用的库导致异常:
Exception in thread "main" java.lang.RuntimeException: Error creating extended parser class: null
at org.parboiled.Parboiled.createParser(Parboiled.java:58)
at com.mycompany.myname.Main.main(Main.java:15)
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.parboiled.transform.AsmUtils.createClassReader(AsmUtils.java:56)
at org.parboiled.transform.ClassNodeInitializer.process(ClassNodeInitializer.java:62)
at org.parboiled.transform.ParserTransformer.extendParserClass(ParserTransformer.java:44)
at org.parboiled.transform.ParserTransformer.transformParser(ParserTransformer.java:39)
at org.parboiled.Parboiled.createParser(Parboiled.java:54)
确切地表明它正在使用 asm 访问依赖于 JDK 的类文件,需要在代码中升级/更新才能与 JDK 11 一起正常工作。引用的库不适用于 JDK 11。已经有几个与 JDK11 相关的问题。
这与 Maven 无关。Maven 适用于最新版本的 JDK 15...16(EA)...等。
推荐阅读
- csv - 在 Kotlin 中使用几列将对象写入 csv 文件
- c++ - Vulkan 内存分配器出现大量错误,“'(': '::' 右侧的非法令牌”
- c# - 具有基本身份验证的 HttpWebRequest 始终返回无法创建 SSL/TLS 通道
- npm - ENOENT:没有这样的文件或目录,以角度打开“./package-lock.json”
- android - Google Play 只有卸载和打开,通常应该是“卸载”和“更新”
- elasticsearch - 运算符在弹性搜索中的关键字类型字段中不起作用
- c++ - C ++初始化:无括号与空括号
- windows-subsystem-for-linux - 3D Slicer 无法在 MobaXterm 上打开
- python - 命令 ee_Initialize() 在包 rgee 中不起作用
- apache-flink - 如何理解 UI 上显示的背压状态