You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装ldapuserimport-api时遇spoon-maven-plugin的opens java.net错误

解决Spoon Maven插件3.5版本的InaccessibleObjectException构建错误

问题原因

你遇到的错误是因为Spoon 3.5版本使用反射调用URLClassLoader.addURL方法,但Java模块化系统(Java 9及以上)默认限制了这种跨模块的反射访问,导致抛出InaccessibleObjectException。之前尝试的--add-opens参数无效,是因为没有用对Spoon插件的参数传递方式。

有效解决方法

方法1:给Spoon插件配置JVM开放参数

直接在POM的Spoon插件配置中添加jvmArguments参数,指定开放模块权限:

<plugin>
    <groupId>fr.inria.gforge.spoon</groupId>
    <artifactId>spoon-maven-plugin</artifactId>
    <version>3.5</version>
    <configuration>
        <!-- 开放java.net模块给未命名模块 -->
        <jvmArguments>--add-opens java.base/java.net=ALL-UNNAMED</jvmArguments>
        <!-- 保留原有的其他配置项 -->
    </configuration>
</plugin>

修改后重新执行构建命令即可。

方法2:升级Spoon插件版本(推荐)

Spoon 3.5是较旧版本,后续版本已经适配Java模块化规则,无需手动添加参数。将插件版本升级到最新稳定版(比如5.1.0):

<plugin>
    <groupId>fr.inria.gforge.spoon</groupId>
    <artifactId>spoon-maven-plugin</artifactId>
    <!-- 替换为最新稳定版本 -->
    <version>5.1.0</version>
</plugin>

升级后不仅能解决当前错误,还能获得插件新特性与bug修复。

方法3:临时跳过Spoon代码检查(应急方案)

如果想优先完成构建、后续再处理代码检查,可以执行命令时跳过Spoon的check目标:

mvn install clean -U -DskipSpoonCheck

验证

修改配置或命令后,重新运行mvn install clean -U,确认构建成功。

内容的提问来源于stack exchange,提问作者eli44

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:46:12