3

Heroku スラッグが大きすぎるため、Mint 12、Play 2.0 で実行し、Proguard を機能させようとしています。

したがって、私はxsbt proguard プラグインを使用しています。これは、ProGuard がバイトコード形式 51 を好まないため、barfs します。これは ProGuard 4.7 であるため、51 で動作するはずですが、動作しません:

[error] {file:/(some path)/*:proguard: java.io.IOException: Can't read
[/(that path)/target/scala-2.9.1/(my app)_2.9.1-1.0-SNAPSHOT.jar]
(Can't process class [controllers/routes$ref.class]
(Unsupported version number [51.0] for class format))

だから、私は瓶に何が入っているかを見て、ほとんどすべての行は次のようになっています:

./controllers/Application.class:  compiled Java class data, version 49.0 (Java 1.5)

しかし、ルーターは次のようになります。

./controllers/routes.class:       compiled Java class data, version 51.0

ルーターが他のものとは異なる -target を選択する理由は何ですか?

問題があれば、Mint に付属の JDK7 を使用しています。

OpenJDK Runtime Environment (IcedTea7 2.0) (7~b147-2.0-0ubuntu0.11.10.1)
OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode
4

2 に答える 2

3

routes.class自動生成されたものからjavacによってコンパイルされるため、バイトコード形式が異なります

target/scala-{version}/src_managed/controllers/routes.java

他のクラス ファイルは scala コンパイラによって生成されます。

于 2012-05-04T06:13:16.107 に答える
0

Heroku で Play 2 アプリのスラッグ サイズを小さくするための回避策は次のとおりです:
https://groups.google.com/d/topic/play-framework/R_BbIomWsqI/discussion

于 2012-05-04T18:24:21.717 に答える