使用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 图标。

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

或者在,File -> Project Structures... 也可以找到。

点击,打开 Project Structure 窗口。

如下图所示,Project Structure 窗口左侧可以选择 Artifacts ,右侧点击加号,选择 Jar -> Empty

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

在窗口的右侧,就会出现一个可以编辑的界面。如下图所示:上面的红框是填写 Jar 包的名称,左下的红框表示这个 Jar 包里面包含什么内容,右下的红框表示有什么东西是可以放进去的。

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

第二步:添加 Manifest

在 Jar 里面没有添加任何东西的时候,点击 xxx.jar ,底部会显示 添加 Manifest 的操作按钮。

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

添加完,并指定 Main class 就可以了。如下图所示:

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

第三步:添加 Jar 包内容

接下来就是最关键的操作了。

对于工程中的源码,一般都是显示为 'xxxx' compile output,对它们的操作为,右键,选择 Put into Output Root。

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

对于工程中依赖的库什么的,就右键,选择 Extract Into Output Root。

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

最终会得到下面这样的结果。

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

第四步:构建

经过上面的步骤,一个 Artifact 的配置就做好了。我们就可以执行它。

在菜单栏,Build -> Build Artifacts...

使用IDEA将Java/Kotliin工程导出Jar包的正确姿势

点击 Build 即可构建。

生成的东西应该会在 output 或 out 或 build 之类的目录里面。

赶快执行一下 java -jar yourJar.jar 试试看吧!

来源:https://segmentfault.com/a/1190000021956096

标签:IDEA,Java,导出Jar包
0
投稿

猜你喜欢

  • java判断String类型是否能转换为int的方法

    2022-08-17 23:45:52
  • Kotlin 基础教程之异常

    2022-10-31 06:34:52
  • java通过Callable和Future来接收线程池的执行结果

    2022-03-31 05:01:43
  • RestTemplate在Spring或非Spring环境下使用精讲

    2022-03-03 07:35:41
  • java实现仿windows 字体设置选项卡实例

    2023-01-02 11:45:42
  • C#使用ScrapySharp快速从网页采集数据

    2021-08-14 09:25:14
  • c# 遍历 Dictionary的四种方式

    2023-04-17 13:11:10
  • Spring Boot项目中定制拦截器的方法详解

    2021-07-28 19:21:55
  • Java如果通过jdbc操作连接oracle数据库

    2023-04-07 10:55:51
  • Android应用开发中自定义ViewGroup视图容器的教程

    2023-05-29 18:14:45
  • Java给JFrame窗口设置热键的方法实现

    2022-01-24 13:32:20
  • SpringSecurity整合jwt权限认证的全流程讲解

    2022-02-20 09:58:36
  • Gradle进阶使用结合Sonarqube进行代码审查的方法

    2021-12-17 08:49:56
  • 学习SpringBoot容器功能及注解原理

    2023-11-24 22:06:17
  • Java设计模式之建造者模式

    2023-09-03 14:40:37
  • ReentrantLock从源码解析Java多线程同步学习

    2023-10-13 02:32:55
  • 阿里云发布 Spring Boot 新脚手架工程

    2023-10-08 04:43:12
  • 一篇文章带你入门Springboot沙箱环境支付宝支付(附源码)

    2021-06-26 23:21:16
  • 谈谈Java中自定义注解及使用场景

    2022-08-28 04:45:39
  • 详解C#中检查null的语法糖

    2023-08-12 11:20:08
  • asp之家 软件编程 m.aspxhome.com