首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MANIFEST.MF文件(PDB文件)

打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF...文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容: Manifest-Version: 1.0 Created-By: Apache Ant 1.5.1 Extension-Name...Digest: ZnTIQ2aQAtSNIOWXI1pQpw== 这段内容定义类签名的类名、计算摘要的算法名以及对应的摘要内容(使用BASE方法进行编码) 七.自定义属性 除了前面提到的一些属性外,你也可以在MANIFEST.MF...Java 2 平台识别并解释 META-INF 目录中的下述文件和目录,以便配置应用程序、扩展和类装载器: MANIFEST.MF。这个 manifest 文件定义了与扩展和包相关的数据。...签名 JAR 中的 Manifest 和 signature 文件 Contents of signature file META-INF/MANIFEST.MF Manifest-Version: 1.0

63920
您找到你想要的搜索结果了吗?
是的
没有找到

linux学习(七) jar命令详解

(manifest.mf文件中可以对jar包及其中的内容作一些一设置) -0 产生jar包时不对其中的内容进行压缩处理 -M 不产生所有文件的清单文件(Manifest.mf)。...文件的jar包 jar cvfm hello.jar manifest.mf hello 创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf...注意:manifest.mf这个文件名,用户可以任指定,但jar命令只认识Manifest.mf,它会对用户指定的文件名进行相应在的转换,这不需用户担心。...三.Manifest.mf文件编写规则:   manifest.mf的编写一定要注意一些细节,它是很苛刻的,我在此也载过不少跟头,谁让它这么小气呢,没办法,所以专门给大家列出来。  ...manifest.mf填写内容。

2.9K10

运行jar命令提示:没有主清单属性或者找不到或无法加载主类

这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。...这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序的一些信息。所以才造成这样的问题。...解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。即需要一个Main-Class定义行。更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。...下面是一个完整的详细的MANIFEST.MF文件信息: 2 、解决办法很简单。就是在MANIFEST.MF添加入口。...之后,在双击打开这个文件夹META-INF: 再选择MANIFEST.MF文件,用记事本打开它: 现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。

4.7K10

2018-08-02 Java命令行下Jar包打包

、test2.java、Main.java,其内容就是上面文章内的内容 3、 在当前目录编译:javac -d . test1.java test2.java Main.java 4、 在当前目录创建MANIFEST.MF...1.8.0_101 (Oracle Corporation) Main-Class: cn.mymain.Main 注意:文件要4行,最后一行是空行 5、 打包:jar cvfm test.jar MANIFEST.MF...test.jar 1 2 3 这个时候显示:错误: 找不到或无法加载主类 cn.mymain.Main 7、 解包jar后发现少了个cn目录,因此修改打包的命令为:jar cvfm Test.jar MANIFEST.MF...  cn/*" output2=`jar cvfm test.jar MANIFEST.MF  cn/*` echo $output2 echo "java -jar test.jar 1 2 3" output3...=`java -jar test.jar 1 2 3` echo $output3 使用的时候执行:sh do.sh 如果执行的时候是指定java的类执行,就不需要编写MANIFEST.MF文件,因此shell

52730

Android APK 签名校验

然后,再逐条计算MANIFEST.MF文件中每一个块的SHA1,并经过BASE64编码后,记录在CERT.SF中的同名块中,属性的名字是“SHA1-Digest”。...首先,如果你改变了apk包中的任何文件,那么在apk安装校验时,改变后的文件摘要信息与MANIFEST.MF的检验信息不同,于是验证失败,程序就不能成功安装。...其次,如果你对更改的过的文件相应的算出新的摘要值,然后更改MANIFEST.MF文件里面对应的属性值,那么必定与CERT.SF文件中算出的摘要值不一样,照样验证失败。...我们还是用前面的例子分析,假设签名后,apk文件中多了一个META-INF目录,里面有三个文件,分别是MANIFEST.MF、CERT.SF和CERT.RSA: 通过前面的分析,我们可以知道,MANIFEST.MF...MANIFEST.MF文件中记录的一致。

3.7K10

实战android打包和签名

下面分析一下3个文件的具体如何生成的apksinger: 1、MANIFEST.MF 逐一遍历里面的所有条目,如果是目录或者三个文件(MANIFEST.MF,CERT.RSA,CERT.SF)就跳过...,如果是一个文件,就用SHA1(或者SHA256)消息摘要算法提取出该文件的摘要然后进行BASE64编码后,作为“SHA1-Digest”属性的值写入到MANIFEST.MF文件中的一个块中。...首先,如果你改变了apk包中的任何文件,那么在apk安装校验时,改变后的文件摘要信息与MANIFEST.MF的检验信息不同,于是验证失败,程序就不能成功安装。...其次,如果你对更改的过的文件相应的算出新的摘要值,然后更改MANIFEST.MF文件里面对应的属性值,那么必定与CERT.SF文件中算出的摘要值不一样,照样验证失败。...最后,如果你还不死心,继续计算MANIFEST.MF的摘要值,相应的更改CERT.SF里面的值,那么数字签名值必定与CERT.RSA文件中记录的不一样,还是失败。 那么能不能继续伪造数字签名呢?

1.1K10

执行jar包中指定main方法

通过maven将应用打成jar包之后,可以通过java -jar ***.jar来执行,会运行指定的main方法,主要是 MANIFEST.MF 中指定的 main 方法;那么如果有多个main方法的时候如何运行指定的...****指的是包名; ****.className是类名称; args指传递进去的参数; 综上:运行jar有两种情况 1>maven打包之后通过MANIFEST.MF指定main方法 java -jar... 主要是这里面的mainfest代码块;mainClass中指定执行的main方法的包名+类名;然后指定maven package命令,可以看到打包出来的jar中的META-INF中MANIFEST.MF...然后打包成jar运行的时候,如果要添加参数,直接添加在后面就可以了; java -jar mplus-service-jar-with-dependencies.jar aaa bbb 2>如果没有在MANIFEST.MF...然后再main方法中添加打印的逻辑,来看下执行的参数情况 其实就是把aaa,bbb的值作为args参数传递进去了; 总结:通过maven 把项目打包成jar,然后运行main方法,有两种情况,一种是在MANIFEST.MF

2.8K10

你的SpringBoot应用真的部署更新成功了吗

应用会使用Maven插件打包(笔者不熟悉Gradle,所以暂时不对Gradle做分析),所以可以这样考虑: Maven插件打包的时候,把构建时间和pom文件中的版本号都写到jar包的描述文件中,正确来说就是MANIFEST.MF...把第1步中打包到jar包中的MANIFEST.MF文件的内容读取并且加载到SpringBoot环境属性中的info.*属性中,以便可以通过/actuator/info访问。...了解此解压目录是我们编写MANIFEST.MF文件的解析实现过程的前提。...编写MANIFEST.MF文件的解析类: @SuppressWarnings("ConstantConditions") public enum ManiFestFileExtractUtils {...public Map extract() { return RESULT; } } 可以通过一个CommandLineRunner的实现把MANIFEST.MF

80620
领券