IRONSOFTWAREHOME

IronPdfEngine 从一个胖JAR连接失败

Curtis Chau
Curtis Chau
Updated: 2026年7月3日

当您的IronPDF for Java应用程序打包为胖(uber) JAR时,客户端无法连接到内部渲染引擎。IronPdfEngine启动并监听正确的端口,但Java客户端尝试连接20次并每次都失败。

Failed to connect to IronPdfEngine after 20 attempts
Text

失败源于将每个依赖项合并到一个自组装阴影(uber) JAR中——例如使用Maven Shade或Gradle Shadow插件。 合并的依赖项中的重叠资源文件阻止Java客户端到达IronPdfEngine子进程:引擎启动并打开预期的端口,但客户端永远无法连接,在20次重试后放弃。 保留每个依赖项作为classpath上的独立文件可以避免冲突。

解决方案

正常构建项目,将其依赖项复制到一个文件夹中,然后通过将Java直接指向那些文件而不是使用java -jar来启动应用程序。

1. 构建项目

mvn clean package
SHELL

2. 复制运行时依赖项

将每个库单独放入target/libs中作为独立的JAR,这正是classpath方法所需的:

mvn dependency:copy-dependencies -DoutputDirectory=target/libs
SHELL

3. 从Classpath运行

针对展开的classpath而不是胖JAR启动应用程序。 用您实际的主类替换com.example.Main。

Windows:

java --add-opens java.base/java.nio=ALL-UNNAMED -cp "target/classes;target/libs/*" com.example.Main
SHELL

Linux / macOS:

java --add-opens java.base/java.nio=ALL-UNNAMED -cp "target/classes:target/libs/*" com.example.Main
SHELL

两个命令之间唯一的区别是classpath分隔符:在Windows上是分号(:)。

调试提示

  • 不起作用的方法:从胖JAR运行成功启动IronPdfEngine,但Java客户端始终无法连接。
  • --add-opens本身不够:在仍从胖JAR运行时添加JVM标志并不能解决连接问题。 该标志仅在上述classpath启动中起作用。
  • PDF/A版本字符串:如果代码将PDF/A版本作为字符串参数传递,请使用PdfAVersions.PdfA2a。
Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

版本:2026.10刚刚发布

立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
Java Maven PDF 库
using Maven 安装

版本: 2026.10

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.10.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.10.1
or
Java PDF JAR
下载 JAR

版本: 2026.10

手动安装到您的项目中

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF for Java
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
您的资料将始终保密。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
深受全球数百万工程师信赖
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
Java Maven PDF 库
using Maven 安装

版本: 2026.10

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2026.10.1</version>
</dependency>
https://central.sonatype.com/artifact/com.ironsoftware/ironpdf/2026.10.1
or
Java PDF JAR
下载 JAR

版本: 2026.10

手动安装到您的项目中