笔记 Java命令行添加Manifest,并生成API文档步骤
Posted 从零开始的智障生活
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔记 Java命令行添加Manifest,并生成API文档步骤相关的知识,希望对你有一定的参考价值。
1. 代码及编译
在一个文件夹mypackage下新建一个HelloWorld.java
package mypackage;
public class HelloWorld {
private String world="nihao";
public void say(){
System.out.println("Hello"+world+"!");
}
public static void main(String[] args) {
HelloWorld inst = new HelloWorld();
inst.say();
}
}
接下来我们要用javac编译这个文件
C:\\Users\\zyx\\Desktop>javac mypackage\\HelloWorld.java
然后再自己新建一个清单文件,可以是mf、txt类型等等,如manifest.mf或manifest.txt。
然后在里面添加如下内容,将其设置为这个可工作:
Main-Class: mypackage.HelloWorld
第一个冒号左边没有空格,右边有一个空格;最后一行一定是空行。
再将这个manifest.mf文件的内容追加到jar包自动生成的这个MANIFEST.MF文件中。
情形一:如果我没有设置一个清单文件,那么就会自动生成一个空的MANIFEST.MF,如下所示:
C:\\Users\\zyx\\Desktop>jar -cvf HelloWorld.jar mypackage
已添加清单
正在添加: mypackage/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: mypackage/HelloWorld.class(输入 = 754) (输出 = 452)(压缩了 40%)
正在添加: mypackage/HelloWorld.java(输入 = 394) (输出 = 257)(压缩了 34%)
C:\\Users\\zyx\\Desktop>jar tvf HelloWorld.jar
0 Thu Jul 01 12:59:28 CST 2021 META-INF/
69 Thu Jul 01 12:59:28 CST 2021 META-INF/MANIFEST.MF
0 Thu Jul 01 10:21:46 CST 2021 mypackage/
754 Thu Jul 01 10:21:46 CST 2021 mypackage/HelloWorld.class
394 Thu Jul 01 11:21:14 CST 2021 mypackage/HelloWorld.java
查看这个没有规定内容的MNIFEST.MF的内容。
Manifest-Version: 1.0
Created-By: 1.8.0_121 (Oracle Corporation)
情形二:加上我们的manifest.mf 文件
C:\\Users\\zyx\\Desktop>jar cvfm HelloWorld.jar manifest.mf mypackage
已添加清单
正在添加: mypackage/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: mypackage/HelloWorld.class(输入 = 754) (输出 = 452)(压缩了 40%)
正在添加: mypackage/HelloWorld.java(输入 = 388) (输出 = 253)(压缩了 34%)
C:\\Users\\zyx\\Desktop>jar tf HelloWorld.jar
META-INF/
META-INF/MANIFEST.MF
mypackage/
mypackage/HelloWorld.class
mypackage/HelloWorld.java
然后可以利用指令jar的选项-x单独将这个生成的MANIFEST.MF文件,给提取出来(相当于是复制一份出来,并不会影响jar包内的内容)。
C:\\Users\\zyx\\Desktop>jar -x META-INF/MANIFEST.MF -f HelloWorld.jar
这样就会将按照相对路径其分离出来到桌面上,分出来有个文件夹META-INF,还有前面生成的HelloWorld.jar:
然后再查看这个MANIFEST.MF的内容:
Manifest-Version: 1.0
Created-By: 1.8.0_121 (Oracle Corporation)
Main-Class: mypackage.HelloWorld
Sun提供了一个生成JavaAPI文档的工具Javadoc,将上面的Java内容生成API文档:
C:\\Users\\zyx\\Desktop>javadoc mypackage\\*.java -d javadoc
正在加载源文件mypackage\\HelloWorld.java...
正在构造 Javadoc 信息...
正在创建目标目录: "javadoc\\"
标准 Doclet 版本 1.8.0_121
正在构建所有程序包和类的树...
正在生成javadoc\\mypackage\\HelloWorld.html...
正在生成javadoc\\mypackage\\package-frame.html...
正在生成javadoc\\mypackage\\package-summary.html...
正在生成javadoc\\mypackage\\package-tree.html...
正在生成javadoc\\constant-values.html...
正在构建所有程序包和类的索引...
正在生成javadoc\\overview-tree.html...
正在生成javadoc\\index-all.html...
正在生成javadoc\\deprecated-list.html...
正在构建所有类的索引...
正在生成javadoc\\allclasses-frame.html...
正在生成javadoc\\allclasses-noframe.html...
正在生成javadoc\\index.html...
正在生成javadoc\\help-doc.html...
生成如下文档内容:
然后打开index.html:
以上是关于笔记 Java命令行添加Manifest,并生成API文档步骤的主要内容,如果未能解决你的问题,请参考以下文章