Liferay Portal 7.4社区版启动失败:Zip文件异常求助
Liferay 7.4启动失败:java.util.zip.ZipException 排查方案
问题描述
使用Liferay Portal 7.4社区版搭配OpenJDK11,全新纯净版未部署任何自定义模块,启动服务器时控制台抛出java.util.zip.ZipException,提示无法打开指定JAR文件,核心错误为Invalid CEN header (invalid extra data field size for tag: 0xbfef at 55),删除state和temp文件夹后问题仍存在。
错误日志片段:
2024-06-19 05:28:19.858 ERROR [Framework Event Dispatcher: Equinox Container: ef6a5f94-965b-4fdf-a282-fa7f927f3030][Framework:93] FrameworkEvent ERROR java.util.zip.ZipException: Exception in opening zip file: C:\Users\pankaj.fathesingh\Softwares\LiferayPortal\liferay-ce-portal-7.2.1-ga2\liferay-ce-portal-7.2.1-ga2\osgi\state\org.eclipse.osgi\632\0\.cp\lib\stax2-api.jar at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:317) ... Caused by: java.util.zip.ZipException: Invalid CEN header (invalid extra data field size for tag: 0xbfef at 55) at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1769) ...
排查与解决步骤
1. 彻底清理OSGi缓存目录
除了state和temp,还需清理以下目录:
[Liferay根目录]/osgi/cache[Liferay根目录]/work[Liferay根目录]/tomcat/temp(使用内置Tomcat时)[Liferay根目录]/tomcat/work(使用内置Tomcat时)
清理后重启服务器,让Liferay重新生成缓存文件。
2. 验证安装包完整性
全新安装仍出现该问题,大概率是下载的Liferay安装包本身损坏:
- 找到官网对应版本的MD5/SHA校验值
- 使用校验工具验证本地安装包的校验和是否与官网一致(Windows用
certutil -hashfile [文件路径] MD5,Linux用md5sum) - 若不一致,重新下载官方安装包
3. 重新解压到全新目录
不要在原有损坏目录上覆盖解压,直接将新下载的安装包解压到一个全新的空目录,避免残留损坏文件影响启动。
4. 检查文件系统权限
确保Liferay所在目录及子目录拥有完整的读写权限:
- Windows下避免将Liferay安装在
Program Files等需要管理员权限的目录 - 右键Liferay根目录,选择「属性」-「安全」,确保当前用户拥有「完全控制」权限
5. 确认JDK环境合法性
- 确保使用的OpenJDK11是官方发行版(如Adoptium、OpenJDK官方包),避免使用修改过的非正规版本
- 检查
JAVA_HOME环境变量是否正确指向JDK根目录,且PATH中优先使用该JDK的bin目录
内容的提问来源于stack exchange,提问作者Pankaj Fathesingh
相关产品推荐
相关产品推荐

