IDEA打包项目为jar文件

        在使用IDEA将所编写的java项目打包成jar文件时遇到了不少问题,所幸最后解决了,但是对于具体的原因却是疑惑的,因此进行记录。

        首先,怎么做?

        IDEA打包项目为jar包第一种方法(成功

        要使用maven的install,在输出目录target中找到文件   “xxxx-0.0.1-SNAPSHOT.jar”,这个就是项目导出的可用的jar包。

         IDEA打包项目为jar包第二种方法(失败

        另一种失败的导出jar包的方式是在File ->Project Structure->build artifact->增加->选中启动类->build artifact,导出的jar包为 “项目名.jar” 。

 其次,为什么?

        以下是研究过程:

                1. java项目在IDEA中是可运行无问题的,本人先是使用了第二种生成jar的方式,之后在jar包对应目录下输入cmd进入命令行窗口,使用 “java -jar 项目名.jar”,启动了jar程序,但是程序报错,显示如下错误(部分)

                 2 之后去查看程序,修改pom.xml的依赖版本,重新打包都没有解决问题。

                3 使用第一个打包方式,使用maven的install进行打包,之后在jar包对应目录下输入cmd进入命令行窗口,使用 “java -jar 项目名-0.0.1-SNAPSHOT.jar”,成功启动jar程序。

                4 试着研究两者打包方式结果不同的原因。

                        ①对于同一个java项目,两者生成的jar包大小些许差异

                        ②因此考虑到两者的具体文件并不一致,因此分别对两个jar进行直接解压。

 

                        ③ 可以说两者的目录结构差别巨大,出现不同的结果不足为奇。但无论程序最后成功启动与否,两种打包方式生成的jar包都启动了spring,只不过其中使用build artifact生成的jar包在启动时会有“ 'sqlSessionFactory' or 'sqlSessionTemplate'”没有bean的注入,之后程序异常终止。至于那个maven install生成的jar包没有这些问题。

       最后,是什么?

        初步认为,无论是使用build artifact生成的jar,还是maven install生成的jar其实都是可以运行成功的。由于开发的java项目是使用maven构建的,所以使用maven生成对应的jar会更加简便,而使用build artifact生成jar可能还需要一些额外的配置才能正确运行。

        至于这个问题的底层原因是框架的问题,还是依赖配置的问题,亦或是其他,只有等后面再去研究了······                 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值