我有一个包含嵌入式硬编码图像的scala模板 (例如< img src =“data:image / gif; base64,iVBORw0K ...)。为了测试,我使用了相同的图像。
编译应用程序时出现以下错误
java.io.IOException: invalid constant type: 106 at 119
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1044)
at javassist.bytecode.ConstPool.read(ConstPool.java:984)
at javassist.bytecode.ConstPool.<init>(ConstPool.java:125)
at javassist.bytecode.ClassFile.read(ClassFile.java:770)
at javassist.bytecode.ClassFile.<init>(ClassFile.java:114)
at javassist.CtClassType.<init>(CtClassType.java:95)
at javassist.ClassPool.makeClass(ClassPool.java:728)
at javassist.ClassPool.makeClass(ClassPool.java:706)
at play.core.enhancers.PropertiesEnhancer.rewriteAccess(PropertiesEnhancer.java:145)
at sbt.PlayCommands$$anonfun$PostCompile$1$$anonfun$apply$32.apply(PlayCommands.scala:327)
at sbt.PlayCommands$$anonfun$PostCompile$1$$anonfun$apply$32.apply(PlayCommands.scala:327)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
at sbt.PlayCommands$$anonfun$PostCompile$1.apply(PlayCommands.scala:327)
at sbt.PlayCommands$$anonfun$PostCompile$1.apply(PlayCommands.scala:305)
....
但是,仅使用1个嵌入图像进行编译时不会引发错误。
所以我假设它与文件大小有关。
是否有scala模板文件大小设置,如果有,如何增加它?还是我在错误的树上吠叫?
感谢。
答案 0 :(得分:2)
因为模板被引擎简化为方法,并且正在编译并在jvm上运行方法,所以对于任何方法都存在64 kiB的硬限制。模板可能比实际中的模板略大,但最大的单一方法可能不会超过限制。
如果您想查看模板引擎的输出以自行检查方法,那么在项目编译完成后,可以在<project>\target\scala-2.10\src_managed\main\views\html\...
更多详情: