目录
1.【右键点击项目】-> 【Open Module Settings】
2.【Artifacts】 -> 【JAR】 -> 【From modules with dependences】
JAR files from libraries中的位置选择
Directory for META-INF/MANIFEST.MF
出现”META-INF/MANIFEST.MF” already exists in VFS的错误
4.菜单选择Build- Build Artifacts... --> XXX.jar --> Build
前言:需求
需求:我们把项目中某一个带有main方法的Java类,打包成可执行的Jar文件
要求1:包含Java类依赖的三方Jar包
要求1:指定Java版本
Idea:打包可执行的JAR文件
1.【右键点击项目】-> 【Open Module Settings】
2.【Artifacts】 -> 【JAR】 -> 【From modules with dependences】
弹出Create JAR from Modules
Main Class就是JAR文件的主类
JAR files from libraries中的位置选择
- 【不推荐】extract to the target JAR的意思是提取依赖库的字节码文件到目标的JAR文件中
笔者,使用这种方式运行,“提示无法加载主类”
- 【推荐】copy to the output directory and link via manifest的意思是把依赖库拷贝到输出的目录,并在manifest中添加对应的属性(生成的
MANIFEST.MF
会包含Class-Path
属性)
Directory for META-INF/MANIFEST.MF
会在填写的目录下生成
META-INF/MANIFEST.MF
文件建议放在:
src/main/resources/
目录下
出现”META-INF/MANIFEST.MF” already exists in VFS的错误
说明”META-INF/MANIFEST.MF”已经在文件系统中存在了,我们把对应的文件删除即可,在重新配制即可成功。
4.菜单选择Build- Build Artifacts... --> XXX.jar --> Build
5.运行Jar文件
前提:必须装有Jdk,必须版本不能低于项目编译版本
java -jar xx.jar
Idea:打包,指定JDK编译版本
File-Project Structure-Project-Project language level