1.压缩报错
我们在增量更新jar时,有新增的依赖包。重新打包之后,报错:
It has been compressed and nested jar files must be stored without compression.Please check the mechanism userd to create your executable jar file.
报错原因:
这个报错的大致意思是:它已经被压缩,嵌套的jar文件必须在没有压缩的情况下存储。请检查用于创建可执行jar文件的机制。
使用winrar或者7zip解压工具,点开后修改lib内的jar包,修改后重新保存的时候,对lib内的jar包进行了重复压缩,所以访问不到。
解决方式:
Windows环境下:
添加压缩包的时候,算法选择"存储"即可。
Linux环境下:
jar -xvf ruoyi-admin.jar(解压)
把BOOT-INF、META-INF、org放在一个目录,进入目录下执行打包:
jar -cvf0M ruoyi-admin.jar *(重新压缩,-0是主要的)
jar命令:
-c:create,插件档案;
-i:generate-index,为指定的jar档案创建索引信息;
-t:list,列出档案的目录;
-u:update,更新档案信息;
-x:extract,从档案中提取指定的 (或全部) 文件;
-0:no-compress,仅存储,不使用zip压缩;
-v:verbose,在标准输出中生成详细输出;
-f:file,档指定档案文件名;
-M:不创建条目的清单文件
2.jar运行报错
运行jar包时报错:no main manifest attribute
报错原因:原因是找不到主类
解决方式:
一般情况下,java 打包成 jar 包需要在 MANIFEST.MF 中指定 Main-Class项,以便运行 java -jar xxx.jar 时找到对应的主类。
jar -cm0f META-INF/MANIFEST.MF ruoyi-admin.jar *