网站首页 > java教程 正文
# idea 中如何将 java 项目打包成 jar 包?
例如如何将项目dzs168-dashboard-generate打包成 dzs168-dashboard-generate.jar
## 1、打开项目结构 Project Structure
在IDEA的顶部菜单栏中选择【File】,然后选择【Project Structure】(或者使用快捷键Alt + Ctrl + Shift + S)。
## 2、在弹出的窗口中,选择左侧的【Artifacts】选项。
## 3、选择 JAR 包
点击窗口右上角的【+】按钮,选择【JAR】--->【From modules with dependencies】。
## 4、选择项目模块,指定 Main Class。
在弹出的窗口中,选择项目中的模块(dzs168-dashboard-generate),并且指定【Main Class】为你的项目的执行入口类(Main.class),最后点击【确定】按钮即可。
## 5、配置Jar包的输出路径:
在右侧的【Output Layout】窗口中,选择【+】按钮,并选择【Directory Content】。
## 6、选择你希望将Jar包输出的路径,通常建议选择项目根目录下的【out】文件夹,点击【OK】保存配置(默认就是out目录)。
## 7、构建Jar包:
1)点击顶部菜单栏中的【Build】---> 【Build Artifacts】 ---> 【Build】。
2)IDEA将会自动构建并打包你的Java项目,并将生成的Jar包输出到之前配置的路径中。如果配置的路径下出现Jar包,表示Java项目打包成功。
## 8、验证Jar包:
1)右击Jar包依次选择【Show In Explorer】,在Windows资源管理器中打开。
2)然后在终端(CMD)下执行 java -jar
dzs168-dashboard-generate.jar 进行测试验证。
3)如果出现如下错误:“
dzs168-dashboard-generate.jar中没有主清单属性”可从两方面解决。
4)方法一:使用java -jar并指定Main-Class
```bash
java -cp dzs168-dashboard-generate.jar dzs.it.dashboard.Main
```
5)方法二:修改或创建MANIFEST.MF文件
(1)在
dzs168-dashboard-generate.jar文件同级目录,创建一个新的文本文件,命名为MANIFEST.MF,并添加以下内容:
```bash
Manifest-Version: 1.0
Class-Path: .
Main-Class: dzs.it.dashboard.Main
```
(2)注意:文件下面必须有一空行。dzs.it.dashboard.Main 为包含main方法的包名类名。
(3)使用jar命令更新JAR文件:
```bash
jar ufm dzs168-dashboard-generate.jar MANIFEST.MF
```
(4)这里,ufm选项用于更新JAR文件的元数据(Manifest)。
(5)注意事项:
确保你指定的Main-Class名称完全正确,包括包名。如:dzs.it.dashboard.Main
(6)JAR文件更新完成,重新执行 java -jar
dzs168-dashboard-generate.jar 命令即可。
```bash
java -jar dzs168-dashboard-generate.jar
```
猜你喜欢
- 2025-06-15 Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
- 2025-06-15 推荐一款超棒的SpringCloud 脚手架项目
- 2025-06-15 IDEA将项目打包成jar包(idea打包普通java项目)
- 2025-06-15 Spring Boot3 项目 jar 包打包成 Docker 镜像全攻略
- 2025-06-15 记录Dockerfile将jar包构建成部署所需的镜像
- 2025-06-15 项目基础部署汇总八---linux下xxl-job安装
- 2025-06-15 Spring Boot Jar 包秒变 Docker 镜像实现多环境部署
- 2025-06-15 终端执行 java -jar example.jar 时报错:“没有主清单属性” 的解决
- 2025-06-15 如何将本地JAR文件添加到Maven项目中
- 2025-06-15 Java 类隔离应用:多 Jar 包支持(java接口隔离原则)
你 发表评论:
欢迎- 06-15Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
- 06-15推荐一款超棒的SpringCloud 脚手架项目
- 06-15IDEA将项目打包成jar包(idea打包普通java项目)
- 06-15Spring Boot3 项目 jar 包打包成 Docker 镜像全攻略
- 06-15记录Dockerfile将jar包构建成部署所需的镜像
- 06-15项目基础部署汇总八---linux下xxl-job安装
- 06-15Spring Boot Jar 包秒变 Docker 镜像实现多环境部署
- 06-15终端执行 java -jar example.jar 时报错:“没有主清单属性” 的解决
- 最近发表
-
- Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
- 推荐一款超棒的SpringCloud 脚手架项目
- IDEA将项目打包成jar包(idea打包普通java项目)
- Spring Boot3 项目 jar 包打包成 Docker 镜像全攻略
- 记录Dockerfile将jar包构建成部署所需的镜像
- 项目基础部署汇总八---linux下xxl-job安装
- Spring Boot Jar 包秒变 Docker 镜像实现多环境部署
- 终端执行 java -jar example.jar 时报错:“没有主清单属性” 的解决
- 如何将本地JAR文件添加到Maven项目中
- Java 类隔离应用:多 Jar 包支持(java接口隔离原则)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)