我们开发项目的时候会使用到各种各样的JAR包,如何利用IDEA生成所需JAR包就尤为重要。本文主要讲述如何利用IDEA配置相关参数,生成我们想要的JAR包以及如何在linux系统部署JAR包。
01
# 生成JAR包 #

弹出窗口后依次点击1.ArtiFacts->2.添加JAR包:
IDEA给出了两种添加JAR包的方法:
1. From modules with dependencies…打包
使用这种方式,会将项目完整的一起打包。
以上配置选择之后,就会进入上图界面:
1)编辑生成JAR包的名称;
2)编辑生成JAR包的路径;
3)点击apply->ok,即可保存该JAR包生成的全部配置。
MAIFEST.MF文件:

该文件主要包含一些配置信息,主要是文件的版本,主函数的类外加所引用的JAR包等。
用途主要有两个:
1). Main-Class 指定程序的入口,这样可以直接用java -jar xxx.jar来运行程序。
2). Class-Path 指定jar包的依赖关系,class loader会依据这个路径来搜索class。
使用这种方式进行打包,我们可以只将自己所需要的类进行打包,不需要打包整个项目,这样会使打出来的JAR包更加轻便。

上图即为用Empty打包的界面:
1)编辑生成JAR包的名称;
2)编辑生成JAR包的路径;
3)添加自己所需要打包的类(注:必须为.class文件);
4)自己创建或者使用已存在的MAIFEST.MF文件;
5)点击apply->ok,即可保存该JAR包生成的全部配置。
任选其中一种配置方式,并完成配置之后就可以生成我们所需要的JAR包。

点击Build->Build Artifacts..

找到自己配置的JAR包名称;
Build:第一次生成JAR包,选择Build生成一个新的JAR包;
Rebuild:之后我们修改了任意程序之后,就可以选择Rebuild来重新生成JAR包即可。
02
# 部署JAR包 #
部署JAR包之前要先安装好JAVA环境,配置JAVA环境变量。
以linux环境为例,因为我们生成JAR包时未将所有依赖包全部打入生成的JAR包中,所以我们将所有依赖包放到lib文件夹下,将lib文件夹与生成的JAR包放在同一目录,这样我们就可以把部署命令写到一个shell,如下图所示:
1)第一行是获取当前目录
2)第二行是获取所需部署JAR包绝对路径
3)第三行是遍历所需依赖包之后循环拼接在JAR包绝对路径后
4)第八行是设置一些JVM参数
5)第九行是设置垃圾回收参数和日志路径
6)第十行是部署JAR包
nohup是用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
2>&1将标准错误输出重定向到标准输出,就是将项目的错误日志和正常输出日志都输出到后面的$MHOME/server.log,也就是输出到当前目录下的server.log文件。
最后一个&是让命令在后台进行。
03
# 总结 #