Scala模板是否存在文件大小限制?

时间:2013-08-28 23:42:48

标签: playframework-2.0

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

感谢。

1 个答案:

答案 0 :(得分:2)

因为模板被引擎简化为方法,并且正在编译并在jvm上运行方法,所以对于任何方法都存在64 kiB的硬限制。模板可能比实际中的模板略大,但最大的单一方法可能不会超过限制。

如果您想查看模板引擎的输出以自行检查方法,那么在项目编译完成后,可以在<project>\target\scala-2.10\src_managed\main\views\html\...

找到它们。

更多详情: