使用IDEA将Java/Kotliin工程导出Jar包的正确姿势
作者:kross 时间:2022-10-18 17:39:34
导出的 Jar 包无法运行?
导出的 Jar 包找不到 Main class?
大概是我对导出 Jar 包的理解不深吧,反正一直不太懂 IDEA 导出 Jar 包的界面和功能到底怎么用。但总算是自己摸索出了正确的方法。
第一步:添加构建
首先要介绍的是 Artifact 这个概念,可以理解为一种构建,比如说 Android Studio 构建出来的 Artifact 就是 Apk 文件。Java 程序当然是可以构建出 Jar 包的。
在一个 Java 或 Kotlin 工程中,在 IDEA 的顶部的工具栏上,找到 Project Structure 图标。
或者在,File -> Project Structures...
也可以找到。
点击,打开 Project Structure 窗口。
如下图所示,Project Structure 窗口左侧可以选择 Artifacts ,右侧点击加号,选择 Jar -> Empty
在窗口的右侧,就会出现一个可以编辑的界面。如下图所示:上面的红框是填写 Jar 包的名称,左下的红框表示这个 Jar 包里面包含什么内容,右下的红框表示有什么东西是可以放进去的。
第二步:添加 Manifest
在 Jar 里面没有添加任何东西的时候,点击 xxx.jar ,底部会显示 添加 Manifest 的操作按钮。
添加完,并指定 Main class 就可以了。如下图所示:
第三步:添加 Jar 包内容
接下来就是最关键的操作了。
对于工程中的源码,一般都是显示为 'xxxx' compile output,对它们的操作为,右键,选择 Put into Output Root。
对于工程中依赖的库什么的,就右键,选择 Extract Into Output Root。
最终会得到下面这样的结果。
第四步:构建
经过上面的步骤,一个 Artifact 的配置就做好了。我们就可以执行它。
在菜单栏,Build -> Build Artifacts...
点击 Build 即可构建。
生成的东西应该会在 output 或 out 或 build 之类的目录里面。
赶快执行一下 java -jar yourJar.jar
试试看吧!
来源:https://segmentfault.com/a/1190000021956096
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
java判断String类型是否能转换为int的方法
Kotlin 基础教程之异常
java通过Callable和Future来接收线程池的执行结果
RestTemplate在Spring或非Spring环境下使用精讲
![](https://img.aspxhome.com/file/2023/0/122030_0s.png)
java实现仿windows 字体设置选项卡实例
![](https://img.aspxhome.com/file/2023/0/92570_0s.png)
C#使用ScrapySharp快速从网页采集数据
![](https://img.aspxhome.com/file/2023/8/71728_0s.png)
c# 遍历 Dictionary的四种方式
![](https://img.aspxhome.com/file/2023/5/102205_0s.png)
Spring Boot项目中定制拦截器的方法详解
Java如果通过jdbc操作连接oracle数据库
Android应用开发中自定义ViewGroup视图容器的教程
![](https://img.aspxhome.com/file/2023/7/117137_0s.png)
Java给JFrame窗口设置热键的方法实现
![](https://img.aspxhome.com/file/2023/8/125618_0s.png)
SpringSecurity整合jwt权限认证的全流程讲解
![](https://img.aspxhome.com/file/2023/0/113200_0s.png)
Gradle进阶使用结合Sonarqube进行代码审查的方法
![](https://img.aspxhome.com/file/2023/6/84226_0s.png)
学习SpringBoot容器功能及注解原理
![](https://img.aspxhome.com/file/2023/4/59044_0s.png)
Java设计模式之建造者模式
ReentrantLock从源码解析Java多线程同步学习
![](https://img.aspxhome.com/file/2023/9/58679_0s.png)
阿里云发布 Spring Boot 新脚手架工程
![](https://img.aspxhome.com/file/2023/0/108480_0s.jpg)
一篇文章带你入门Springboot沙箱环境支付宝支付(附源码)
![](https://img.aspxhome.com/file/2023/6/67646_0s.png)
谈谈Java中自定义注解及使用场景
![](https://img.aspxhome.com/file/2023/7/62717_0s.jpg)