在我的工作中,我们需要部署一个必须是 java 8 的 .ear 文件。但是当我们尝试部署时,会发生此错误:Caused by: com.sap.engine.library.bytecode.cf.CFException: Invalid constant pool tag, 19 at index 4. at com.sap.engine.library.bytecode.cf.CFParser.parse0(CFParser.java:386) at com.sap.engine.library.bytecode.cf.CFParser.parse(CFParser.java:307) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.parseClassInformation(ClassInfoReaderImpl.java:336) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.traverseZipFile(ClassInfoReaderImpl.java:287) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.readInternal(ClassInfoReaderImpl.java:105) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.traverseFolder(ClassInfoReaderImpl.java:175) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.readInternal(ClassInfoReaderImpl.java:103) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.traverseFolder(ClassInfoReaderImpl.java:175) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.readInternal(ClassInfoReaderImpl.java:103) at com.sap.lib.javalang.tool.impl.ClassInfoReaderImpl.traverseWarFile(ClassInfoReaderImpl.java:196) ... 16 more我们认为触发此问题是因为其中一个依赖项指向某个 Java 9 库。因此,我需要有关必须降级哪些依赖项或其他任何内容的帮助,以便将系统部署到 Java 8。
1 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
我解决了。Jaxb jar 有一个在 java 9 中编译的类。它必须降级到 2.2.12 才能在 java 8 中部署。您可以通过将其添加到 pom.xml 来降级它
<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api --><dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.12</version> </dependency>
添加回答
举报
0/150
提交
取消