|
|
0.98本体自带的java版本是17,我在升级到java24和最新的java25后,会出现无法读取存档的错误。检查出错日志里,是一个xml解析错误:javax.xml.stream.XMLStreamException: ParseError at [row,col]:[34921,3] Message: JAXP00010006: The element "e" has a depth of "101" that exceeds the limit "100" set by "jdk.xml.maxElementDepth".
曾经困惑了我很久,但在最近问了ai后,才知道java24里,oracle为了解决一个内存攻击问题,把几个xml解析相关的数字都减小了很多。
解决方法是:在vmparams里,添加:
-Djdk.xml.entityExpansionLimit=64000 -Djdk.xml.entityReplacementLimit=3000000 -Djdk.xml.totalEntitySizeLimit=50000000 -Djdk.xml.maxGeneralEntitySizeLimit=0 -Djdk.xml.maxElementDepth=0
这样就可以恢复到java17的限制,正常读档。 |
|