java - 如何在java命令提示符下运行签名的jar文件?

标签 java jar jar-signing jarsigner

我在java 6命令提示符下创建了jar文件,然后使用jdk jarsigner实用程序对jar文件进行了签名。最后验证成功。但是当我使用

运行jar文件时
Java -jar JarExample.jar

它抛出异常,例如NoClassDefFoundError.Could not find the main class :JarTest

这是我的 list 文件内容:

Manifest-Version: 1.0
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Main-Class: JarTest 

Name: ClassFile.class
SHA1-Digest: 6/tiYFkvtAy4Vl0ODl/6y6j/IJU=

Name: JarTest.class
SHA1-Digest: eDa/GNMKffutC3xfAyAwX0mCNnM=

但是在签署 jar 之前它工作正常。所以,我不知道这有什么问题?

请指导我摆脱这个问题?

最佳答案

我看到了你的问题。也许我知道你的问题出在哪里? list 文件必须有一个 类路径变量,因此在创建的 jar 文件中必须包含我在下面显示的信息:

Manifest-Version: 1.0
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Main-Class: JarTest 
Class-Path:./lib/yourName.jar ./lib/*

关于java - 如何在java命令提示符下运行签名的jar文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9373250/

相关文章:

java - 在 Mac 上启动时,Swing GUI 不显示或显示错误

java - 签名的 jar 文件还可以包含来自 'chain of trust' 的多个证书吗?

java - webstart-maven-plugin 的新 <updateManifestEntries> 条目破坏了应用程序

android - "Package not signed correctly"为某些用户出现

Java - OSX Mavericks 上的 Accumulo init 异常 - log4j 记录器

java - 如何使用 Apache httpcomponents 从 NHttpRequestHandler 中得知远程 IP 地址?

Java比较一天中自定义开始结束时间的两次

java - 如何区分从不同目录启动的相同 jar ?

java - 如何使用外部 jar 运行 hadoop?

java - 应用程序如何使用 JAR 中的文件进行读写?