【问题标题】:excluding dependency signature files in JAR file using build.sbt in IntelliJ在 IntelliJ 中使用 build.sbt 排除 JAR 文件中的依赖签名文件
【发布时间】:2018-10-03 16:46:09
【问题描述】:

我遇到了与 Invalid signature file digest for Manifest main attributes exception while trying to run jar file 类似的问题,但无法使用 build.sbt 和从 IntelliJ 2018.1 构建工件来解决此问题或其他一些修复程序

该项目在 IntelliJ 中作为 scala>sbt 项目启动 Java版本是1.8.0_77

我的 build.sbt 包含:

scalaVersion := "2.11.8"

libraryDependencies ++= Seq(
  "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.0",
  "org.scalatest" %% "scalatest" % "3.0.5" % "test",
  "org.apache.spark" % "spark-core_2.11" % "2.3.0",
  "org.apache.spark" % "spark-sql_2.11" % "2.3.0",
  "com.amazonaws" % "aws-java-sdk" % "1.7.4",
  "org.apache.hadoop" % "hadoop-aws" % "2.7.1"
)

excludeFilter in Compile := "*.SF" || "*.DSA" || "*.RSA"

项目构建没有任何错误并且在 IntelliJ 中运行良好,但是当我构建>构建工件并在 IntelliJ 运行所在的同一台机器上从命令行运行生成的 jar:

java -jar myApp.jar

我明白了:

线程“main”java.lang.SecurityException 中的异常:Manifest 主要属性的签名文件摘要无效

【问题讨论】:

  • 您在 IntelliJ 中的工件是如何定义的?

标签: java scala apache-spark intellij-idea sbt


【解决方案1】:

这没有说明如何从 IntelliJ 中排除,但这会从 jar 中删除文件。

zip -d <jar file name>.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF

【讨论】:

    猜你喜欢
    • 2011-07-04
    • 2015-09-23
    • 2019-09-25
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 2014-07-24
    • 2019-02-12
    • 1970-01-01
    相关资源
    最近更新 更多