首页 > 其他分享 >使用IDEA打jar包三种方式 步骤(包含跳过测试模式)

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

时间:2024-01-30 19:44:59浏览次数:32  
标签:文件 JAR jar IDEA 选择 跳过 目录 打包

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

正文:

方式一:网络最常见的打包方式。比较适用于普通项目打JAR包。方式二:比较适用于MAVEN项目打JAR包。方式三:maven界面。

方式一:网络最常见的打包方式。比较适用于普通项目打JAR包。 选中菜单栏中File–>Project Structure (文件–>项目结构;快捷键ctrl+shift+alt+s) ,然后选择artifacts,点击上面的加号,新建JAR包,选择如图所示。

接下来,首先先选择你要打包的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包。 如果是maven项目的话,通过方式1打JAR包,他会把你maven库中所有的包都打包进来。所以可以使用下面这种方式,或者使用上面的方式1,然后采用减法原则,把不需要的包删除掉。
依旧是选中菜单栏中File–>Project Structure (文件–>项目结构;快捷键ctrl+shift+alt+s)

为你的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包文件。

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


原文链接:https://yebd1h.smartapps.cn/pages/blog/index?blogId=113178551&_swebfr=1&_swebFromHost=hwquickapp

标签:文件,JAR,jar,IDEA,选择,跳过,目录,打包
From: https://www.cnblogs.com/sunny3158/p/17997817

相关文章

  • idea-Project Structre设置 Sources:显示项目的目录资源,那些是项目部署的时候需要的目
    idea-ProjectStructre设置ProjectStructreProject Projectname:定义项目的名称;ProjectSDK:设置该项目使用的JDK,也可以在此处新添加其他版本的JDK;Projectlanguagelevel:这个和JDK的类似,区别在于,假如你设置了JDK1.8,却只用到1.6的特性,那么这里可以设置语言等级为1.6,这个是......
  • Day03-Helloworld-IDEA
    Helloworld1.新建一个文件夹,用于存放代码。2.新建后缀名为java的文件。​文件命名组成是:Hello.java​文件打开方式为notepad++3.编写代码:publicclassHello{ publicstaticvoidmain(String[]args){ System.out.print("Hello,World!"); }}4.编译:把写的......
  • IDEA编译生成可运行jar包 和 运行jar包报java.lang.NoClassDefFoundError错误,注意 MF
    IDEA编译生成可运行jar包和运行jar包报java.lang.NoClassDefFoundError错误,注意MF文件目录不要用默认目录,改成项目根目录运行环境:操作系统:ubuntu20.04javaversion:openjdkversion"11"2018-09-25OpenJDKRuntimeEnvironment18.9(build11+28)OpenJDK64-BitServer......
  • idea配置tomcat利用Build Artifacts打war包
    idea配置tomcat利用BuildArtifacts打war包idea有BuildArtifacts功能,可以一键打war包。这种方式适合没有maven等项目构建的。也就是老项目,把jar包放在lib里面的web项目。本人有幸参与改造公司的老项目。今天给大家分享如何打包!!!一.idea配置tomcat。我想大家都被分配到做这老项......
  • 将idea控制台打印的内容存到文本中
    因为idea控制台打印的数据不是完整的,但是因为开发需要我们需要拿到完整的日志文件,所以有了如下操作  ......
  • IDEA编译报错:Error:Kotlin: Module was compiled with an incompatible version of Ko
    问题Error:Kotlin:ModulewascompiledwithanincompatibleversionofKotlin.Thebinaryversionofitsmetadatais1.6.0,expectedversionis1.1.13.Warning:Kotlin:RuntimeJARfilesintheclasspathshouldhavethesameversion.Thesefileswerefoundi......
  • Java编程学习(intellij idea)
    打开IntelliJIDEA新建Project新建Module新建Package输入Package名,enter新建JavaClass在Class中编程......
  • 跟收费说拜拜,IDEA接口调试插件推荐
    IDEA插件市场中的API调试插件不是收费(FastRequest)就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用!这款插件由Apipost团队开发的,其官方介绍是:用于IDEA项目快速生成API文档,快速查询接口、接口代码功能,并支持在IDEA中进行API......
  • 推荐几款IDEA插件,助你玩转Mybatis开发
    在软件开发的征程中,MyBatis框架一直是Java开发者中的首选,其简洁的SQL映射和强大的灵活性使其成为持久层框架的瑰宝。然而,在我们开发过程中,很多人都曾面对过一个相对繁琐的问题:如何高效而准确地将数据库表映射到实体类和相应的Mapper文件中?如何将单测日志中的SQLLOG快速高......
  • IDEA2022 解决每次启动新项目maven配置就变为C盘问题
    1、打开一个空的IDEA如果打开IDEA默认进入之前的项目,可以选择先Closeproject退出项目 2、选择左侧的Customize,再点击Configure 3、在打开的Setting设置里面找到Maven配置Build,Execution,Deployment->BuildTools->Maven 修改后,保存即可; ......