java jar 可执行_java基础-可执行jar包

1 简介

大家都知道java项目可以打包成一个可执行的jar包,当我们指定程序的入口main后,可以利用 java -jar YourApp.jar 命令运行可执行jar。那么它需要什么条件才能运行呢?在eclipse java工程和maven工程该怎么打包和部署呢?下面将一一解答。

1.1 运行java -jar app.jar命令的背后

当我们在命令窗口运行java -jar app.jar时,虚拟机做了什么事呢?其实要解答这个问题,就要深入类加载器机制,这已经超出了本文的范围。我们只需要知道,虚拟机使用多个类加载器加载class文件。其中app CLassLoader会获取jar包中的 META-INF/MANIFEST.MF文件,并加载文件中指定的class文件。MANIFEST.MF文件列出了该jar包需要依赖的jar包、可执行jar的入口程序,版本号等。

MANIFEST.MF如下图所示:

java jar 可执行_java基础-可执行jar包_第1张图片

至于MANIFEST.MF的格式和如何编写不在本文的范围。

** Manifest-Version ** 清单文件的版本

** Main-Class ** 主程序所在class的全路径

** Class-Path ** 可执行jar依赖的包路径,所指的路径与可执行文件同一目录路径

1.2 需求

** 目的:可执行JAR在控制台输出字符串,主程序中依赖apache的commons-lang3包对字符串进行拼接

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