笔记 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:

笔记 Java命令行添加Manifest,并生成API文档步骤_第1张图片

然后再查看这个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...

生成如下文档内容:

笔记 Java命令行添加Manifest,并生成API文档步骤_第2张图片

然后打开index.html:

笔记 Java命令行添加Manifest,并生成API文档步骤_第3张图片

你可能感兴趣的:(java,jar)