Invalid or corrupt jarfile xxx.jar
一、遇到的问题
Artifacts打包的特点是,目录下会生成一大堆jar包,各个依赖包都是独立存在的,更新时只替换开发包即可。
之前一直用Artifacts打的包,会生成MANIFEST.MF文件,后来一直出现“Invalid or corrupt jarfile xxx.jar”,偶尔可以成功一两次,很是苦恼。
二、解决办法
改用mav install打包,可以解决上面的问题。特点是所有的依赖包都会打成一个jar包,所以这个jar会比较大,小则几十兆,大则一二百兆。
我遇到了新的问题。jar可以生成,但是执行时提示某个jar不存在。
这个jar包我认识,是个私有包,不在maven仓库里,以systemPath的形式接入的。
三、导入maven本地库
网络是个好东西,找到了解决办法。将该私有jar包导入maven本地仓库即可。命令如下:
mvn install:install-file -Dfile=xxx\xxx.jar -DgroupId=xxx -DartifactId=xxx -Dversion=x.x.x -Dpackage=jar
Dfile,指jar的原位置
DgroupId,给该包起个组名,即包路径
DartifactId,指产品名称,即这个jar的名字
Dversion,版本号,普通字符串也可以
Dpackage,包类型,固定jar