![](/img/trans.png)
[英]in jmeter:java.lang.RuntimeException: Could not find the TestPlan class
[英]Upgrade to Java 17 throws java.lang.RuntimeException: Error creating extended parser class: Could not determine whether class has already been loaded
我正在使用 jtwig lib 並且代碼工作正常但是當我們升級到 Java 17 時,我收到下面提到的運行時異常。
下面是調用 template.render() 時拋出 RuntimeException 的方法
String renderDescription(String templatePath,String userId, String caseId) {
JtwigTemplate template =
JtwigTemplate.classpathTemplate(templatePath);
JtwigModel model = JtwigModel.newModel()
.with("userId", userId)
.with("caseId", caseId)
.with("statusPageUrlTemplate",
config.getStatusPageUrlTemplate());
return template.render(model);
}
java.lang.RuntimeException: Error creating extended parser class: Could not determine whether class 'org.jtwig.parser.parboiled.base.BooleanParser$$parboiled' has already been loaded at org.parboiled.Parboiled.createParser(Parboiled.java:58) at org.jtwig.parser.parboiled.ParserContext.instance(ParserContext.java:31) at org.jtwig.parser.parboiled.ParboiledJtwigParser.parse(ParboiledJtwigParser.java:37) at org.jtwig.parser.cache.InMemoryConcurrentPersistentTemplateCache.get(InMemoryConcurrentPersistentTemplateCache.java:39) at org.jtwig.parser.CachedJtwigParser.parse(CachedJtwigParser.java:19) at org.jtwig.JtwigTemplate.render(JtwigTemplate.java:98) at org.jtwig.JtwigTemplate.render(JtwigTemplate.java:74)
升級 JVM 版本后我遇到了類似的問題,我發現添加這個環境變量有幫助:
JDK_JAVA_OPTIONS=--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED
我相信這與在嘗試檢查內置類時對反射的更嚴格的默認限制有關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.