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 に答える