IntelliJ创建jar文件后无法打开运行,相关报错问题求助
问题解决方案
1. 类版本不兼容错误修复(java.lang.UnsupportedClassVersionError)
该错误根因为编译所用JDK版本高于运行环境JDK版本,你可以二选一适配:
- 下调项目编译版本适配通用Java 8环境:打开IntelliJ → File → Project Structure → Project Settings → Project,将SDK、语言级别均改为Java 8,同步修改Module对应配置后重新打包
- 保留JDK 15编译版本,运行时固定指定JDK 15路径即可,该方案无需调整编译配置
2. iText类找不到错误修复(java.lang.NoClassDefFoundError: com/itextpdf/layout/element/IBlockElement)
该错误根因为你当前打包生成的jar未包含iText等第三方依赖,普通jar默认不会集成外部依赖,运行时找不到对应类就会抛出该异常,需要调整打包配置生成带所有依赖的fat jar
IntelliJ打包配置调整步骤:
- 打开File → Project Structure → Artifacts
- 点击+号 → 选择JAR → From modules with dependencies
- 选择对应项目模块,主类指定为
sample.JobegaGUI,下方单选框选择extract to the target JAR(将所有依赖解压合并到最终jar中),JRE版本和你编译用的JDK 15保持一致 - 保存配置后,点击顶部菜单栏Build → Build Artifacts → 选中你刚创建的jar配置点击Build
运行验证
打包完成后执行原有命令即可正常运行:"C:\Program Files\Java\jdk-15.0.2\bin\java" -jar Jobega.jar
如果调整配置后仍报错,可先排查两个点:
- 确认iText7-Core-7.1.3依赖已正确引入项目依赖库,未设置
provided这类不会打入包的作用域 - 检查Artifacts配置的Output Layout标签下,iText相关依赖已被纳入打包范围
内容的提问来源于stack exchange,提问作者Berni
相关产品推荐
相关产品推荐

