java程序如何打包成可执行jar包?可执行jar包也叫fat jar,是一种利用java -jar命令启动的区别于web容器启动war包的一种方式,普遍在基于springboot框架开发中采用这种方式。
那么让一个jar包通过java -jar命令执行的关键就是让java知道jar中的主类是哪个类。基础的打包命令:
jar cvfe test-java.jar
com.test.jar.HelloWorld
.class
基本意思就是将当前文件夹打包成test-
java.jar
并指定主类是
com.test.jar.HelloWorld.class
,这一步会在jar生成META-INF/
MANIFEST.MF
文件并写入: Main-class:com.test.jar.HelloWorld.class
这样在执行java -jar时候就找到这个主类作为启动类来运行程序。
可以在成功打包可执行jar包之后,将其解压查看解压后的文件结构,可以对jar的运行原理更清晰一点。反过来,按照这个文件结构也可以将整个文件夹压缩成jar包也是可以的。只不过通过命令或者工具操作的时候,打包jar包的每一个动作都隐藏了,原理还是很简单的。
这种知识了解一下就可以了,知道是这么回事即可。常用的java服务端开发都是基于apache maven进行构建,可构建war包、jar包,并通过配置指定启动类以及要包含的配置文件等等。在
pom.xml
中配置如下:
之后运行mvn clean install便打包你想要的jar包了。
但是不管通过工具还是通过命令行,他的原理都是上面说的那个意思。