IntellijIdea 非Maven项目打Jar包

IntellijIdea 非Maven项目打Jar包  一、以SpringBoot项目为例,在未使用maven的情况下将其打成Jar包。  二、将其打成散包,即项目依赖的Jar包在目录同级或子级。好处是如果项目更新,只需要更新项目的jar,不需要更新所有。  一、检查项目是否包含META-INF文件夹。     若包含META-INF文件夹,将其删除。等下重新生成。  二、构建Artifacts  2.1选择菜…

大家好,又见面了,我是你们的朋友全栈君。

  一、以Spring Boot项目为例,在未使用maven的情况下将其打成Jar包。

  二、将其打成散包,即项目依赖的Jar包在目录同级或子级。 好处是如果项目更新,只需要更新项目的jar,不需要更新所有。

  一、检查项目是否包含META-INF文件夹。

  

IntellijIdea 非Maven项目打Jar包

 

  若包含META-INF文件夹,将其删除。等下重新生成。

  二、构建Artifacts

  2.1 选择菜单中的 File-Project Structure 。 在弹出的Project Structure中选择Artifacts- + – JAR -From modules with dependencies

  

IntellijIdea 非Maven项目打Jar包

 

  2.2 在弹出的窗口中选择要打包的模块和主函数,然后选择要打成散包还是一个整体。

  

IntellijIdea 非Maven项目打Jar包

 

  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。 一般这里不选即可。

  

IntellijIdea 非Maven项目打Jar包

 

  选择OK,会在刚才选择的文件夹下面生成一个META-INF文件夹,下面有一个MANIFEST.MF文件

  MANIFEST.MF

  主要一下几个:

  Manifest-Version: Manifest文件的版本,这个不用管。

  Class-Path: 描述lib包相对生成的jar的路径。

  Main-Class: 程序的入口类

  三、将生成的MANIFEST.MF增添到JAR包

  

IntellijIdea 非Maven项目打Jar包

 

  在这些jar包中,黄色的是依赖的jar包,蓝色的是我们生成的要运行的jar包。在蓝色的jar包上右键,选择 “Create Directory”(创建文件夹),名称叫做META-INF。

  

IntellijIdea 非Maven项目打Jar包

 

  在新建的“META-INF”文件夹上右键,选择Add Copy of 下的 File,选择刚刚生成的MANIFEST.MF文件。如下图

  

IntellijIdea 非Maven项目打Jar包

 

  四、生成Jar包。

  配置完上述后。选择菜单中的 build – build artifacts…

  

IntellijIdea 非Maven项目打Jar包

 

  此时页面中间会弹出要生成的jar包,选择刚刚构建的Artifacts,选择build或者rebuild

  

IntellijIdea 非Maven项目打Jar包

 

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

  Rebuild: 将所有jar包重新生成。

  

此时生成jar包已经完成

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150929.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号