DOIFOR技术如何将java项目打包成可执行jar
DOIFOR技术如何将java项目打包成可执行jar

如何将java项目打包成可执行jar

技术

如果是单个java文件咱们都知道可以直接先javac后再java,但是如果是一个包含多个java文件,多个包,依赖等复杂的项目呢?如果使用spring之类的框架还好,一般都提供现成的maven或者gradle构建插件,可以很方便的将项目直接构建成一个可执行的jar包。如果是一个咱们自己手动DIY的一个项目就有些麻烦了,比如说我现在想要使用java swing开发一个桌面应用,会引入很多组件,自己也会写很多工具类组件之类的代码,会有一个包含main方法的类。开发完后该如何发布出去呢?

使用IDEA的build artifacts功能

我平时基本上都是使用IntelliJ IDEA作为开发IDE,这个工具有个功能就是build artifacts,使用方法如下:

file

先打开项目的Project Settings,然后照着上图所示进行选择。

file

然后选择Main class, 可以直接按类名搜索,也可以直接定位java文件。

file

选择MANIFEST.MF文件目录,这个地方据说是必须选择到src这一级,否则会启动不了,我还没试过,有兴趣尝试的朋友可试试。

这地方设置好后就可以直接OK,然后关闭Project Settings页面。

file

可以在IDE头部菜单的build中看到 build artifacts 的选项,点击即可构建一个可执行的jar包了。

来,咱们实验一下哈:
file
file
file

使用gradle构建可执行jar

使用gradle这类专业的构建软件来打包可执行jar就太简单不过了,咱们只需要在build.gradle中增加一下代码即可:

jar {
    String runtimePath = ''
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
    manifest {
        attributes 'Main-Class': 'com.doifor.Main' // 设置启动类路径
        attributes 'Class-Path': runtimePath
    }
}

然后执行jar就可以生成可执行jar了

file

生成的jar默认目录为:./build/libs下面

file

发表回复

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