1

我有一个包含嵌入式硬编码图像的 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 模板文件大小设置,如果有,如何增加它?还是我在叫错树?

谢谢。

4

1 回答 1

2

由于引擎将模板简化为方法,并且方法正在 jvm 上编译和运行,因此任何方法的硬限制为 64 kiB。模板可以比实际使用的稍大,但最大的单个方法不能超过限制。

如果您想查看模板引擎的输出以自己检查方法,则在项目编译后可以在以下位置找到它们<project>\target\scala-2.10\src_managed\main\views\html\...

更多细节:

于 2013-09-03T12:26:50.130 回答