我在尝试运行 jar 文件时遇到了类似于清单主要属性异常的签名文件摘要无效的问题,但无法使用 build.sbt 和从 IntelliJ 2018.1 构建工件来获取此修复程序或许多其他修复程序
该项目在IntelliJ中作为scala启动
我的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中运行良好,但当我生成时
java -jar myApp.jar
我得到:
线程"main"中的异常java.lang.SecurityException:清单主属性的无效签名文件摘要
这并没有解决如何从IntelliJ中排除,但这将从jar中删除文件。
zip -d <jar file name>.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
我正在将具有许多依赖项的Java项目转换为maven项目的过程中。 这些Java项目具有依赖项,这些依赖项存在于maven Central中。现在,我正在尝试将这种转换自动化到maven项目,以包含所有库作为依赖项,并生成一个maven pom.xml。 我想到了下面的方法 步骤1-从jar文件名中定位版本,如果找不到的话-在清单文件中搜索。 步骤2--从jar文件名中找到工件id--尽管可能对所
我想使用第三方供应商的jar。但是在这个jar中,我有Java包的旧版本我需要找到一些方法将包从主项目中排除。像这样的东西: 你能推荐一些解决方案吗?
问题内容: 我记得前一段时间使用eclipse或netbeans时,我能够轻松地将源文件包含在jar文件中。我已移至intellij 10社区版,发现自己需要做同样的事情。有什么提示吗? 问题答案: 我想到了… 单击“输出布局”选项卡中的“ +”按钮->包含目录内容->选择您的src目录。做到了
我想使用Maven创建一个jar,它包含一个特定的依赖工件,并排除一些源java文件。 当前我使用以下代码段: 因此,jar中确实包含了“Guava”工件文件,但是我也希望排除一些源文件(例如src/main/java/my.package/下的特定文件),我该如何做呢?
编辑: 结构: A.jar(或A.war) | |src/main/resources/config。属性-(标记为p1) | ||依赖的罐子 当我运行A. jar(或A. war,因为B. jar可以由Web应用程序或java进程调用)时,我希望B. jar中的代码始终使用p1; 当我单独运行B. jar时,我希望B. jar中的代码使用p2 另一种描述方式是主jar/war中同名的资源文件(这
目前,如果我试图在Gradle中做类似的事情,排除将被忽略,并且下载所有六个工件。 我使用的是Gradle版本1.8。
我试图摆脱。SF,。DSA和。bouncyCastle中的RSA文件,这样我就可以将jar包含到我的jar中并远程部署它。我发现我需要使用maven-依赖-插件,但是排除似乎并没有真正……排除。有点破坏了整个目的。 如果我解压缩文件,签名密钥仍然在那里,特别是在META-INF目录中。如果我手动删除它们并重新jar它,应用程序就可以工作。我只需要弄清楚如何自动排除这些文件! 下面是我的POM文件,
我使用的是Jetty 9.2。我有一个依赖项JAR,目前我将它放在“lib/ext/”文件夹中,因此它会自动加载。我还尝试在Jetty的“start.bat”中使用“-lib=%EXT_JAR PATH%”。这将在启动时加载JAR。是否可以将JAR保存在自定义文件夹中,并使其在启动类加载器上自动加载,而无需在“start.bat”文件中指定? 提前谢谢。