【问题标题】:Proguard crashes on Scala code depending on Multiverse STMProguard 在 Scala 代码上崩溃,具体取决于 Multiverse STM
【发布时间】:2011-12-25 18:33:59
【问题描述】:

我正在尝试使用 Proguard 优化一些依赖于 Multiverse STM (0.6.2) 的 Scala 代码。我将 STM 与 akka 结合使用。当我尝试这样做时,我收到以下错误:

Unexpected error while inlining subroutines:
    Class       = [org/multiverse/transactional/refs/BasicRef]
    Method      = [<init>()V]
    Exception   = [java.lang.ArrayIndexOutOfBoundsException] (-1)

我正在使用以下标志进行优化:

-forceprocessing

-libraryjars ${java.home}/lib/rt.jar
-injars      ${jar.name}
-outjars     ${jar.opt.name}

-dontobfuscate

-dontnote
-dontwarn
-ignorewarnings
-keepattributes

-keepclasseswithmembers public class * {
    public static void main(java.lang.String[]);
}

你知道解决这个问题的方法吗(除了明显的 -dontoptimize 之外)?

提前致谢!

【问题讨论】:

    标签: java scala crash proguard stm


    【解决方案1】:

    在尝试解决同样的问题时,在 proguard 上浪费了更多时间后,我切换到一个罐子 (https://github.com/retronym/sbt-onejar) 并且第一次使用它。我建议除非你需要从 proguard 获得特定的东西(收缩、字节码混淆),否则只使用一个罐子。

    每当我必须配置 proguard 时,我都会发现自己陷入了一场战斗。通常在配置 sbt 时,我也发现自己陷入了一场战斗。把它们放在一起,那就麻烦了。

    祝你好运。 -安迪

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      相关资源
      最近更新 更多