开发中,习惯了各种工具的使用后,于是最基本的制作可运行jar的方式都忘的差不多了,回顾并记录下可运行jar的制作方式。
纯Java应用(手工操作) 可运行类编写Java类执行的主入口便是main方法,于是可以写一个带有main方法的类,让我们从最熟悉的Hello World写起,如下:
public class RunnableApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
将以上内容复制到文件中,修改文件名为RunnableApp.java,然后执行javac RunnableApp.java,会在当前路径生成一个RunnableApp.class的文件,接着执行java RunnableApp即可看到输出Hello World!的文本信息,这样一个可执行的文件生成了,那么如果将文件打包到jar文件中呢?
将class文件打包到jar将前面得到的RunnableApp.class打包到jar中(命令行执行jar查看参数明细),执行jar -cvf Runnable.jar RunnableApp.class,如下图所示:
让我们运行得到的jar,将得到如下错误提示:
没有主清单属性,主清单属性是什么?大概就是一个描述文件的东西,记录了一些元数据信息,java -jar通过这个固定的描述文件找到可执行的文件入口,更详细的信息请自行查阅,下面编写一个主清单(MANIFEST.MF),文件内容如下(注意冒号后的空格):
Main-Class: RunnableApp
然后将MANIFEST.MF添加到前面打包的jar文件中的META-INF目录下,执行jar -ufm RunnableApp.jar META-INF/MANITEST.MF,然后再运行jar,java -jar RunnableApp.jar,如下所示:
至此,复习了一遍java相关的基础命令,和可运行jar的纯手动制作方式,重点:可运行jar依赖一个注清单文件(描述文件),说明jar包内容的元信息,在执行java -jar命令时,会找到该文件然后按文件描述内容执行相关操作。
maven工程(IDE)


