gpt4 book ai didi

scala - Play 2 scala route controller 字节码与所有其他字节码不一样

转载 作者:行者123 更新时间:2023-12-02 00:22:12 25 4
gpt4 key购买 nike

我在 Mint 12、Play 2.0 上运行,并试图让 Proguard 工作,因为我的 Heroku slug 太大了。

所以,我正在使用 xsbt proguard plugin , 并且它 barfs 因为 ProGuard 不喜欢字节码格式 51。它是 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))

于是,我看了一下 jar 里的东西,几乎所有的行都是这样的:

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

但是路由器看起来是这样的:

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

什么会让路由器选择一个不同于其他所有目标的目标?

如果重要的话,我正在使用 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

最佳答案

routes.class 有不同的字节码格式,因为它是由自动生成的 javac 编译的

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

而其他类文件由 scala 编译器生成。

关于scala - Play 2 scala route controller 字节码与所有其他字节码不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10441797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com