Proguard падает на Scala-коде в зависимости от Multiverse STM - PullRequest
1 голос
/ 10 ноября 2011

Я пытаюсь оптимизировать некоторый код Scala, который использует Multiverse STM (0.6.2) с Proguard.Я использую СТМ в сочетании с Аккой.При попытке сделать это я получаю следующую ошибку:

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[]);
}

Знаете ли вы об обходном пути для этой проблемы (кроме очевидного -донтоптимизировать)?

Заранее спасибо!

1 Ответ

0 голосов
/ 04 января 2012

Потеряв еще больше часов на Proguard, пытаясь решить эту же проблему, я переключился на одну банку (https://github.com/retronym/sbt-onejar) и пуф сработал в первый раз. Я предлагаю, чтобы, если не было чего-то конкретного, что вам нужно от proguard (сжатие, обфускация байт-кода), просто используйте одну банку.

Каждый раз, когда мне нужно настроить Proguard, я оказываюсь в бою. Часто при настройке sbt я также оказываюсь в бою. Соедините их вместе, и это рецепт неприятностей.

Удачи. -Andy

...