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

NetBeans 22无法构建Code Name One Kotlin模板项目求助

问题解决步骤

1. 处理源码目录不存在的警告

你看到的Source root doesn't exist: /****/tools/MyApp/myapp/common/src/main/java是因为Kotlin模板项目的源码目录应为src/main/kotlin,但Maven配置中仍保留了Java源码路径。解决方式二选一:

  • 手动创建common/src/main/java目录(虽Kotlin项目用不上,但可消除警告);
  • 修改common模块的pom.xml,更新源码目录配置:
<build>
    <sourceDirectory>src/main/kotlin</sourceDirectory>
    <testSourceDirectory>src/test/kotlin</testSourceDirectory>
</build>

2. 解决核心的IllegalAccessError错误

这个错误的本质是你使用的Kotlin Maven插件1.3.72版本过于老旧,完全不兼容JDK 21/22的模块系统。老版本插件依赖的IntelliJ工具类试图访问JDK内部的sun.nio.ch.FileChannelImpl,而JDK 9+默认禁止未授权模块访问这类内部API。

解决方法是将Kotlin插件版本升级到支持JDK 21的版本(推荐1.9.20或更高):
找到项目中kotlin-maven-plugin的配置(通常在根pom.xml或common模块的pom.xml里),修改版本号:

<plugin>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-plugin</artifactId>
    <!-- 替换为兼容JDK21的高版本,示例为1.9.20 -->
    <version>1.9.20</version>
    <executions>
        <execution>
            <id>compile</id>
            <goals>
                <goal>compile</goal>
            </goals>
        </execution>
    </executions>
    <!-- 可选:若升级后仍有增量编译问题,可临时禁用 -->
    <configuration>
        <incremental>false</incremental>
    </configuration>
</plugin>

3. 额外注意事项

  • Code Name One对JDK LTS版本(如JDK 21)兼容性更好,建议优先使用JDK 21而非JDK 22;
  • 升级插件后,右键项目选择Maven -> Reload Project,让NetBeans重新加载配置;
  • 若问题仍存在,尝试清理Maven缓存并重新构建:执行mvn clean install -U强制更新依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:26:09