om-*_*nom 5 scala jar proguard sbt
我正在尝试通过proguard插件为sbt 10*制作单个可执行文件*.jar .
所有似乎都没关系,除了sbt-proguard不包括java jars(在我的情况下是mysql-connector-java-5.1.10.jar)因为当我试图运行输出jar时
java -jar proguard-output.min.jar
我越来越
Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
(虽然sbt`run`很好,所以mysql连接器肯定在项目中).
我试图通过在build.sbt中显式添加jar来利用这个问题:
proguardInJars += Path.userHome / ".m2" / "repository" / "mysql" / "mysql-connector-java" / "5.1.10" / "mysql-connector-java-5.1.10.jar"
Run Code Online (Sandbox Code Playgroud)
而且在proguard日志中:
...
Preparing output jar
...
Copying resources from program jar [/home/kostya/.m2/repository/mysql/mysql-connector-java/5.1.10/mysql-connector-java-5.1.10.jar] (filtered)
...
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的例外.我究竟做错了什么?
该类在输入中指定,但代码仅通过内省实例化它,ProGuard 无法知道这一点。因此,您必须明确指定它必须保留在输出中。
比照。ProGuard 手册 > 示例 >处理数据库驱动程序
比照。ProGuard 手册 > 故障排除 > ClassNotFoundException
更安全的解决方案可能不是像 JDBC 驱动程序那样处理第三方 jar,而是将它们指定为库 jar。
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |