在Glassfish上部署EAR时出现FileNotFoundException异常
Glassfish部署EAR包时出现FileNotFoundException的原因分析
异常信息
java.io.FileNotFoundException: /data1/applications/payara-5.2022.5/glassfish/domains/web-cls-sample-event-tracking/applications/cls-sample-event-tracking-ear-4.0.2/jta-1.0.1B.jar (No such file or directory) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:231) at java.util.zip.ZipFile.<init>(ZipFile.java:157) at java.util.jar.JarFile.<init>(JarFile.java:169) at java.util.jar.JarFile.<init>(JarFile.java:106)
可能的原因
- EAR包打包不完整:构建EAR时遗漏了
jta-1.0.1B.jar,或该jar包在打包过程中被错误排除,导致部署后目标目录无此文件。 - 部署过程文件丢失:EAR包上传服务器或Glassfish自动解压部署时,因权限不足、磁盘空间不足、网络中断等问题,
jta-1.0.1B.jar未被正确解压或传输到指定目录。 - 依赖配置错误:项目依赖配置(如pom.xml、application.xml)中引用了不存在的
jta-1.0.1B.jar,或依赖范围配置错误,导致Glassfish尝试寻找实际不存在的文件。 - 容器依赖冲突:Payara(Glassfish衍生版)自带JTA相关依赖,项目指定的
jta-1.0.1B.jar版本与容器自带版本冲突,导致部署时无法正确定位该jar包。 - 文件权限问题:目标部署目录或
jta-1.0.1B.jar的权限设置错误,Glassfish进程无读取权限,系统返回文件不存在的错误(实际文件可能存在,但权限不足无法访问)。
内容的提问来源于stack exchange,提问作者JustinKSU
相关产品推荐
相关产品推荐

