MANIFEST.MF 文件部分配置 博客园-配置详解
Manifest-Version: 1.0
Main-Class: main 类 ,如果没有启动类就不需要
Class-Path: jar包
所谓ClassPath 包含当前 jar 包 目录的 其它jar包。如下
redis.jar ->MANIFEST.MF
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Administrator
Created-By: Apache Maven 3.6.3
Build-Jdk: 1.8.0_91
Main-Class: cn.lfigy.RedTest
Class-Path: junit-jupiter-engine-5.8.2.jar junit-jupiter-api-5.8.2.jar a
piguardian-api-1.1.2.jar junit-jupiter-5.8.2.jar mongo-java-driver-3.0.
4.jar junit-platform-commons-1.8.2.jar log4j-1.2.17.jar junit-jupiter-p
arams-5.8.2.jar mybatis-3.5.7.jar opentest4j-1.2.0.jar commons-pool2-2.
4.2.jar jedis-2.9.0.jar junit-platform-engine-1.8.2.jar mysql-connector
-java-5.1.47.jar
idea 打包就基于 有Class-Path 和 无Class-Path
无Class-Path 打包 包含依赖的类 ,也就是说 ,依赖的jar包 都解压后一起打包。作为一个项目
有Class-Path 打包 不包含依赖的类【如上】 ,作为独立jar包,模块化
1、无Class-Path
创建打包方式 ,和war包类似
Main-Class 主类
记住这个 redisTest.jar 结构 ,一个jar包 包含类路径 ,和 依赖的类 ,依赖的jar包 【右边是可选择的,不过我们不需要,当然如果你自定义加载器取加载也行,那左边依赖的类就不需要了】,
同时生成文件
构建jar包
2、有Class-Path
这个结构 明显不同 ,jar 包在同一路径
打包
注意:这两种方式生成的最好复制一份打包后MANIFEST.MF 文件 可能没有 Main-Class ,Class-Path ,Class-Path 特别难写 ,但是在 我们项目 的 MANIFEST.MF 可以复制