使用IDEA打jar包步骤(包含跳过测试模式)

这篇博客介绍了在IntelliJ IDEA中使用三种方式打jar包的详细步骤,包括如何选择模块、主类、打包方式,以及如何处理测试代码。特别强调了配置MANIFEST.MF文件的重要性,以及针对Maven项目的打包策略。

方式一:网络最常见的打包方式。比较适用于普通项目打JAR包。

  1. 选中菜单栏中File–>Project Structure (文件–>项目结构;快捷键ctrl+shift+alt+s) ,然后选择artifacts,点击上面的加号,新建JAR包,选择如图所示。
    在这里插入图片描述

  2. 接下来,首先先选择你要打包的Module,然后选择主函数(如果没有可以不选) ,再选择要打成散包还是一个整体。

    Module: 模块,选择需要打包的模块。如果程序没有分模块,那么只有一个可以选择的。
    MainClass:选择程序的入口类。
    extract to the target JAR:抽取到目标JAR。会将所依赖的jar包全都打到一个jar文件中。
    copy to the output directory and link via manifest:将依赖的jar复制到输出目录并且使用manifest链接它们。
    Direct for META-INF/MANIFEST.MF: 如果上面选择了 "copy to … "这一项,这里需要选择生成的manifest文件在哪个目录下。
    Include tests: 是否包含tests。 一般这里不选即可。

    我们选择第二项,然后选择.MF文件放置的目录,如果这个目录下原先就有这个文件的话需要换一个目录或者删除这个文件,选择OK,会在刚才选择的文件夹下面生成一个META-INF文件夹,下面有一个MANIFEST.MF文件。

    重点:网络上有些人说不能使用默认目录,必须自定义目录,不然会运行错误,也不能使用src/main/resources这个目录(这个目录是建project时自带的,也可能没有),自定义目录也不能在src/main下建名为resources的文件。可能是IDEA版本之间的差异或Bug吧,如果运行出错,请尝试修改此处。

    文件主要以下几个:
    Manifest-Version: Manifest文件的版本,这个不用管。
    Class-Path: 描述lib包相对生成的jar的路径。
    Main-Class: 程序的入口类

    配置完上述后。选择菜单中的 build -> build artifacts.,此时页面中间会弹出要生成的jar包,选择刚刚构建的Artifacts,选择build或者rebuild。这样打JAR包的操作就完成了。

    Build:只将主Jar包重新生成,不重新生成所依赖的Jar包。
    Rebuild: 将所有jar包重新生成。

方式二:比较适用于MAVEN项目打JAR包。

  1. 如果是maven项目的话,通过方式1打JAR包,他会把你maven库中所有的包都打包进来。所以可以使用下面这种方式,或者使用上面的方式1,然后采用减法原则,把不需要的包删除掉。
    依旧是选中菜单栏中File–>Project Structure (文件–>项目结构;快捷键ctrl+shift+alt+s)
    在这里插入图片描述

  2. 为你的jar包起名字,选择jar类型,选择输出目录,选择需要的jar文件,到你要打的jar包中

    在这里插入图片描述
    或者使用下面这种方式:
    在这里插入图片描述

    Library Files:选择相应的依赖和jar包
    Module Output:选择你要打包的模块
    Module Test Output: 选择打包的测试模块
    Module Sources: 模块源
    File:选择你要打包的文件
    Directory Content:选择要打包的文件夹
    Extracted Directory:可以选择本地的JAR包

    上面选择好以后点击apply,点击OK,就可以看到刚才配置的目录中出现了打包的jar包。

方式三:maven界面。

在这里插入图片描述
等待打包完成,可以在项目种的target文件夹中发现jar包文件。

(新手出征,部分资料来自网络,若有错误请各位大佬指点指点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值