FreeMarker template error (DEBUG mode; use RETHROW in production!):
The following has evaluated to null or missing:
==> keyTop [in template "b2b.ftl" at line 722, column 22]
----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #if keyTop.result?? && (keyTop.result... [in template "b2b.ftl" at line 722, column 17]
----
Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131)
at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:77)
at freemarker.core.UnexpectedTypeException.(UnexpectedTypeException.java:40)
at freemarker.core.NonHashException.(NonHashException.java:46)
at freemarker.core.Dot._eval(Dot.java:45)
at freemarker.core.Expression.eval(Expression.java:78)
at freemarker.core.ExistsExpression._eval(ExistsExpression.java:45)
at freemarker.core.Expression.eval(Expression.java:78)
at freemarker.core.Expression.evalToBoolean(Expression.java:124)
at freemarker.core.Expression.evalToBoolean(Expression.java:110)
at freemarker.core.AndExpression.evalToBoolean(AndExpression.java:32)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:46)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.MixedContent.accept(MixedContent.java:54)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.Environment.process(Environment.java:302)
at freemarker.template.Template.process(Template.java:325)
at com.concom.staticize.util.FreeMarkertUtil.analysisTemplate(FreeMarkertUtil.java:57)
at com.concom.staticize.job.task.yunying.b2b.B2bKeywordTask.b2bCreate(B2bKeywordTask.java:305)
at com.concom.staticize.job.task.yunying.b2b.B2bKeywordTask.calc(B2bKeywordTask.java:271)
at com.concom.staticize.job.task.yunying.b2b.B2bKeywordTask.lambda$null$0(B2bKeywordTask.java:246)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)