首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sbt- Java 1.8的保护问题

sbt- Java 1.8的保护问题
EN

Stack Overflow用户
提问于 2015-03-14 23:37:45
回答 2查看 873关注 0票数 1

我试图用sbt-保护获得更小的标量可执行jar文件。我添加了project/plugin.sbt这两行代码:

代码语言:javascript
复制
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-proguard" % "0.2.2")

第一个是获取uberjar文件,我可以使用工作良好的sbt assembly获得uberjar。

然后,我执行sbt proguard:proguard以获取此错误消息。

代码语言:javascript
复制
[error] Error: Can't read [/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/rt.jar] (Can't process class [apple/applescript/AppleScriptEngine.class] (Unsupported class version number [52.0] (maximum 51.0, Java 1.7)))
java.lang.RuntimeException: Proguard failed with exit code [1]
    at scala.sys.package$.error(package.scala:27)
    ...
    at java.lang.Thread.run(Thread.java:745)
[error] (proguard:proguard) Proguard failed with exit code [1]

从这篇文章中的提示:ProGuard表示不支持的类版本号[52.0] (最多为51.0,Java1.7),带有sbt保护,我使用export JAVA_HOME=**/usr/libexec/java_home -v '1.6*'**命令切换到Java1.7和Java1.6,以运行pro卫士,以获得纤细排列的jar文件,但这不能运行。

代码语言:javascript
复制
Invalid or corrupt jarfile target/scala-2.11/proguard/myproject_2.11-1.0.jar

可能出什么事了?这些是添加到build.sbt中的行。

代码语言:javascript
复制
proguardSettings

ProguardKeys.options in Proguard ++= Seq("-dontnote", "-dontwarn", "-ignorewarnings")

ProguardKeys.options in Proguard += ProguardOptions.keepMain("core.HelloWorld")
EN

回答 2

Stack Overflow用户

发布于 2016-01-19 04:51:45

我相信这在职业后卫文档中有记载。

使用java -classpath <jarpath> --class classname <program-arguments>运行应用程序应该可以工作。

这是因为pro保护默认从jar中删除所有清单文件,因此java运行时找不到jar类条目。另一种方法是保留MANIFEST.md文件并使用java -jar选项运行它,但我从未尝试过。

票数 1
EN

Stack Overflow用户

发布于 2017-06-16 22:15:52

定义支持Java1.8的最新Proguard版本

代码语言:javascript
复制
ProguardKeys.proguardVersion in Proguard := "5.3.3"

还有几个有用的,如果你用完我的话

代码语言:javascript
复制
javaOptions in (Proguard, ProguardKeys.proguard) := Seq("-Xmx2G")
javaOptions in (Proguard, ProguardKeys.proguard) += "-Xss1G"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29055544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档