我遇到类似于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主要属性的签名文件摘要无效
答案 0 :(得分:1)
这没有解决如何从IntelliJ中进行排除,但是会从jar中删除文件。
zip -d <jar file name>.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF