查看: 1464|回复: 7

请问编译的时候,报错:decompress error : jvm.tar.gz 是为什么呢

升级   0.52%

2

主题

5

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2024-10-29 14:57:59 | 显示全部楼层 |阅读模式



[14:52:40] 1 evn-o2server-commons-master-commons/ ...[14:52:40] decompress error : jvm.tar.gz  Error: unexpected end of file
    at Zlib.zlibOnError [as onerror] (node:zlib:190:17)
    at Zlib.callbackTrampoline (node:internal/async_hooks:130:17) {
  errno: -5,
  code: 'Z_BUF_ERROR'
}
[14:52:50] 429 evn-o2server-commons-master-commons/commons/winsw.exe ...[14:52:50] The following tasks did not complete: preperation, decompress_commons_and_jvm
[14:52:50] Did you forget to signal async completion?


OA版本: 5.1.0
node版本:v16.13.2
java环境:jdk11

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   0.52%

2

主题

5

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2024-10-30 10:27:55 | 显示全部楼层
1、后发现指定版本编译:npm run build_ci:win,某些资源包会下载不下来,就是上图的解压失败的资源。
2、不指定版本编译,能下载资源包,在jdk11环境下会出现类找不到的问题。
3、于是切回jdk8版本编译,能够编译成功,但是编译出来的jvm,还是java11的版本。

4、启动脚本中有需要一个jvm\windows目录,实际上只有jvm\windows_java11的目录,尝试将windows_java11复制一份为windows,再次通过脚本启动,还是启动失败。

好像是需要java8的jvm才能启动成功,所以在java8的环境下编译为什么会生成windows_java11呢
回复

使用道具 举报

升级   100%

0

主题

662

回帖

2

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2
发表于 2024-10-30 14:12:38 | 显示全部楼层
您确定OA版本是: 5.1.0,这个版本是jdk8的,但平台很早以前就声明不支持jdk8了,已经升级为jdk11,所以打包下载的jvm是jdk11,建议你升级oa的版本为最新版本9.1
回复

使用道具 举报

升级   0.52%

2

主题

5

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2024-10-30 15:09:12 | 显示全部楼层
启蒙星 发表于 2024-10-30 14:12
您确定OA版本是: 5.1.0,这个版本是jdk8的,但平台很早以前就声明不支持jdk8了,已经升级为jdk11,所以打 ...

升级不了呢,有些自定义的改动,只能固定到这个版本,所以这个编译还是需要jdk8,但是编译的时候下载的是jdk11,就是因为平台升级了吗
回复

使用道具 举报

升级   0.16%

2

主题

1

回帖

16

积分

注册会员

Rank: 2

积分
16
发表于 2024-10-31 17:28:23 | 显示全部楼层
xuj231 发表于 2024-10-30 15:09
升级不了呢,有些自定义的改动,只能固定到这个版本,所以这个编译还是需要jdk8,但是编译的时候下载的是 ...

我在Linux环境下用的9.1.3,为了跳过下载jvm修改了一点代码,我不知道5.1.0代码结构是什么样的,但我的做法楼主或许可以参考。
o2oa根目录下有个gulpfile.js文件,里面有一行是这样的:
[JavaScript] 纯文本查看 复制代码
exports.preperation =  gulp.series(/*download_commons_and_jvm,*/ decompress_commons_and_jvm, move_commons, move_jvm, clear_commons_git, clear_jvm_git);

其中download_commons_and_jvm那句是我注释掉的,这样编译时就不会下载commons和jvm这两个包了,然后每次编译前我把commons_git.tar.gz和jvm_git.tar.gz两个文件拷贝到o2server目录下,再运行编译命令时,就会直接从解压这两个文件的步骤开始执行,跳过了下载阶段
回复

使用道具 举报

升级   100%

0

主题

662

回帖

2

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2
发表于 2024-11-1 09:56:59 | 显示全部楼层
o2server下的jvm只是运行的jdk,你可以从之前任意其他地方拿到jdk放在jvm目录下,或者你把启动脚本的jdk目录指向改为当前服务器的jvm环境也可以
回复

使用道具 举报

升级   0.52%

2

主题

5

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2024-11-1 14:27:57 | 显示全部楼层
河东猴 发表于 2024-10-31 17:28
我在Linux环境下用的9.1.3,为了跳过下载jvm修改了一点代码,我不知道5.1.0代码结构是什么样的,但我的做 ...

好的,感谢
回复

使用道具 举报

升级   0.52%

2

主题

5

回帖

52

积分

注册会员

Rank: 2

积分
52
发表于 2024-11-1 14:28:05 | 显示全部楼层
启蒙星 发表于 2024-11-1 09:56
o2server下的jvm只是运行的jdk,你可以从之前任意其他地方拿到jdk放在jvm目录下,或者你把启动脚本的jdk目 ...

好的,感谢
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread