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

NetBeans 15为何打开缓存只读类而非项目源文件?

问题

我使用NetBeans 15版本搭配JDK 11,在项目中通过Ctrl+点击引用的其他项目类名时,NetBeans会打开该类的只读版本,文件位于NetBeans缓存路径:C:\Users\myUser\AppData\Local\NetBeans\Cache\15\packageName\myProject.jar。目标类所属项目已在我的项目列表中,也存在于本地.m2仓库,且已执行clean and build操作。之前使用NetBeans 12版本时此功能正常,请问为何NetBeans现在无法从源文件打开该类?是否遗漏了配置设置?

已尝试操作:对目标类所属项目执行clean and build。

解决方法
  • 检查项目依赖的引用类型
    NetBeans 15在依赖解析逻辑上和12有差异,若当前项目是通过Maven仓库引用目标项目的jar包,而非直接关联源项目,就会优先打开缓存里的只读文件。调整步骤:

    1. 右键当前项目 → 属性 → 库
    2. 在编译标签下,删除从Maven引入的目标项目依赖
    3. 点击添加项目,选择目标项目添加为项目依赖
  • 清理NetBeans全局缓存
    项目build清理不影响NetBeans全局缓存,旧的jar映射可能残留:

    1. 关闭NetBeans
    2. 删除缓存目录:C:\Users\myUser\AppData\Local\NetBeans\Cache\15
    3. 重启NetBeans,等待项目索引完成后再测试
  • 确保目标项目生成源附件
    若目标项目未配置生成源jar,NetBeans无法关联到源文件。在目标项目的pom.xml中添加源插件:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    

    执行clean install重新生成并安装源jar到本地仓库

  • 重建项目索引
    NetBeans的代码索引可能未同步最新关联信息:

    1. 右键目标项目 → 索引 → 重建索引
    2. 索引完成后重启NetBeans测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:46:01