我正在尝试优化一些依赖于Multiverse STM (0.6.2)和Proguard的Scala代码。我正在和akka一起使用STM。当我尝试这样做时,我得到了以下错误:
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之外)?
提前感谢!
发布于 2012-01-04 08:27:51
在花费了更多的时间尝试解决同样的问题后,我切换到one-jar ( https://github.com/retronym/sbt-onejar ),并在第一次工作。我建议,除非您需要从proguard (收缩,字节码混淆)中获得特定的东西,否则只需使用one-jar即可。
每当我必须配置proguard时,我都会发现自己处于一场战斗中。通常,在配置sbt时,我也发现自己处于一场战斗中。把它们放在一起,这是一个麻烦的配方。
祝好运。-Andy
https://stackoverflow.com/questions/8073261
复制相似问题