在我的工作中,我們需要部署一個必須是 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
提交
取消