我正在尝试在没有可用 JDK 的 Linux 计算机中从 Java 代码运行 JarSigner 作为进程。仅 JRE 可用。
我尝试将 jarsigner 从 JDK 安装的 bin 文件夹复制到 JRE 的 bin 文件夹,并将 tool.jar
从 JDK 的 lib 复制到 lib JRE 的文件夹。但没有成功。
收到的错误消息:
java.lang.NoSuchMethodError: sun.security.tools.KeyStoreUtil.isSelfSigned(Ljava/security/cert/X509Certificate;)
Process process = Runtime.getRuntime().exec("jarsigner -keystore "
+ tempFile.getAbsolutePath()
+ " -storepass stack -keypass overflow -signedjar "
+ newbtrpFile2.getName() + " "
+ newbtrpFile1.getName() + " bogus-cert" );
最佳答案
如果没有 JDK,就无法拥有 JarSigner。 如果您尝试独立使用 JarSigner,将出现以下错误跟踪:
Error: could not find libjava.dylib
Error: Could not find Java SE Runtime Environment.
这与 JarSigner 的工作方式以及将其自身集成到 Java 运行时环境中的方式有关。
关于java - linux下没有安装jdk如何运行JarSigner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57589237/