IDEA打包java程序为jar

编写目的:记录一个需求是实现的全过程,以便回顾!

一、需求说明

某天,一个朋友跟我说,他想测下数据库的可承受的并发量,叫我帮忙写一个程序。我心想,就我这水平,半桶水,学艺不精,居然叫我,不知道能不能写出来,就姑且试试吧

需求如下:

1、打包成一个jar文件,在Linux运行

2、支持传入两个参数,一个是启动的线程数,另一个是每个线程插入数据库记录条数

例如:可以启动3个线程,每个线程插入3条记录,执行完毕后,数据库插入9条记录。

二、编程实现

技术实现:IDEA+Maven+Msql

没有进行模块拆分,所有功能写在一个文件中
源码下载地址:https://download.csdn.net/download/weixin_45589713/15405690
在这里插入图片描述

三、打包jar文件

3.1、菜单File->project structure
在这里插入图片描述

3.2、在弹窗最左侧选中Artifacts->"+",选jar,选择from modules with dependencies

在这里插入图片描述

3.3、

MainClass:选择jar包运行的主类

设置META-INF/MANIFEST.MF文件路径:不要使用默认的,可以随便保存在一个目录

在这里插入图片描述

3.4、jar包输出路径位置、依赖包信息等,直接点击OK
在这里插入图片描述

3.5、到这里导出jar还没有结束,继续点击Build–>Build Artifacts

3.5.1 初见构建
在这里插入图片描述

在这里插入图片描述

3.5.2 修改程序后,可以重新构建jar包。

在这里插入图片描述

3.6、构建jar成功,在项目下会多出out文件夹,可以看到构建的jar包

在这里插入图片描述

四、测试

程序测试相关命令:

启动参数说明:

thrednum:并发线程数

sqlrows:每个线程插入记录数

默认启动一个线程,插入1条记录。

java -jar mysql_tools.jar

java -jar -Dthrednum=2 mysql_tools.jar

java -jar -Dthrednum=2 -Dsqlrows=3 mysql_tools.jar

4.1 Windows上测试

cmd 窗口进入jar所在目录,运行命令:java -jar mysql_tools.jar,测试成功在这里插入图片描述
在这里插入图片描述

4.2 Centos上测试

上传mysql_tools.jar文件到Centos上,然后到所在目录执行命令:java -jar mysql_tools.jar,测试成功

[root@izuf63c0r3hzuk54cnpkwhz testjar]# ls
mysql_tools.jar
[root@izuf63c0r3hzuk54cnpkwhz testjar]# java -jar mysql_tools.jar
启动线程数:1
每个线程插入记录数:1
INSERT INTO `test`.`t_rkjbqk_sjzx2` (`xb_mc`, `sfbjlk_dm`, `xjzdz`, `hyzk_dm`, `sfz_hm`, `whcd_mc`, `yszmyxrq`, `zxyy`, `xjzdz_dm`, `lkhjd_sj`, `csd`, `lq_grzrq`, `mz_dm`, `jkzk`, `zzmm_mc`, `sfbjqc_dm`, `csrq`, `jkzk_mc`, `hkxz_dm`, `qtzj_hm`, `jrxjzd_sj`, `gj_dm`, `mq_xm`, `whcd_dm`, `fq_xm`, `zzmm`, `gzdw`, `xb_dm`, `dh_hm`, `po_xm`, `sjcj_sj`, `csd_dm`, `sjcjdq_dm`, `hjdz`, `wlsjycsyy`, `xm`, `sjcjjg_mc`, `gj_mc`, `zxrq`, `sfzjlb_mc`, `zxyy_mc`, `hyzk_mc`, `sjcjdq_mc`, `ylbm`, `po_sfzj_hm`, `sfds`, `wlsjycsyy_mc`, `hjdz_dm`, `hybdrq`, `sjgx_sj`, `zy_mc`, `sfzjlb`, `zy`, `mq_sfzj_hm`, `mz_mc`, `hkxz_mc`, `chrq`, `fq_sfzj_hm`, `swrq`, `qyrkid`, `sfbjlk_mc`, `ID`, `data_num`, `instock_time`, `gateway_name`, `dataid`, `insert_datcenter_time`, `tid`, `insert_datetime`, `data_status`) VALUES ('男性', '2', '广东省佛山市南海区桂城街道同成社区居委会中海锦城', '90', '320113194907111615', '普通高级中学教育', NULL, NULL, '440605011065001', NULL, NULL, NULL, '01', NULL, NULL, '2', NULL, NULL, '1', NULL, NULL, '156', NULL, '60', NULL, NULL, '南京市栖霞区中建八局三公司', NULL, '18664645755', NULL, '2017-04-06 16:59:21', NULL, '440605011042000', '江苏省南京市栖霞区尧化街道办事处尧新社区居委会', NULL, NULL, '广东省佛山市南海区桂城街道灯湖社区居委会', '中国', NULL, '居民身份证', NULL, '未说明的婚姻状况', '广东省佛山市南海区桂城街道灯湖社区居委会', NULL, NULL, '2', NULL, '320113001007000', NULL, '2018-08-14 17:18:01', NULL, '01', NULL, NULL, '汉族', '非农业户口', NULL, NULL, NULL, 'f17207a89e764f35b96bc600778e5a45', NULL, '8fbbd71c-b884-4a07-9a33-ba211773ee0b', '9377940', '2020-12-21 08:43:57', 'qyrk', NULL, NULL, NULL, NULL, NULL)
[root@izuf63c0r3hzuk54cnpkwhz testjar]# 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值