一。jdk打jar包:
参考文章:https://www.cnblogs.com/mq0036/p/8566427.html
当一个jar包里面引入了另一个jar包的时候,通过jdk打包
二。工具打jar包:
idea:
参考文章:
https://www.cnblogs.com/blog5277/p/5920560.html
include in project 打钩和不打勾
在于build project时候是不是自动生成jar包:
参考文章:https://blog.youkuaiyun.com/qq_37860634/article/details/88061005
打包后的目录结构如下:
打开springbootdemo.jar
可以看到idea打的jar包,没有MANIFEST.MF文件,不是可执行的jar包。
三。maven插件打jar包:
命令:mvn package
说明:maven插件打的jar包基于jdk的打包机制,包含基本的mf文件和编译的class文件
war:war相比jar多了lib等文件夹
springboot:打的jar如果需要独立运行,需要指定清单属性,可以在pom里面添加插件
如下:
Manifest-Version: 1.0
Implementation-Title: springbootdemo
Implementation-Version: 0.0.1-SNAPSHOT
Built-By: Administrator
Implementation-Vendor-Id: com.caidi
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_171
Implementation-URL: https://projects.spring.io/spring-boot/#/spring-bo
ot-starter-parent/springbootdemo
Start-Class: com.caidi.springbootdemo.SpringbootdemoApplication
Main-Class代表了Spring Boot中启动jar包的程序
Start-Class属性就代表了Spring Boot程序的入口类,这个类中应该有一个main方法
MANIFEST.MF文件 参考文章:https://blog.youkuaiyun.com/u010429286/article/details/79085212#commentBox
jar包运行:
一。
jdk:
java -jar xx.jar
二。
maven:
mvn run
三。