笔记 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文档步骤的主要内容,如果未能解决你的问题,请参考以下文章

java要在命令行执行eclipse的项目的方法

命令行下Jar包打包小结

java命令行编译和运行引用jar包的文件

Netbeans 清单

用命令行编译java并生成可执行的jar包

java打包成jar文件后还是不能双击运行