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

NetBeans 15测试代码无法识别源类更新构造方法问题

NetBeans 15测试代码无法识别已有类新增构造方法的问题解决

问题背景

使用NetBeans 15 + OpenJDK 17,基于Ant构建Web项目,配置了Source Packages和Test Packages,部署到Tomcat 9后日常源码修改热重载正常。近期为已有类新增构造方法后,编译无异常,但Test Packages中的测试代码无法识别新增的构造方法。

示例源类

package com;

import javax.servlet.http.*;
import java.sql.Connection;
import java.sql.SQLException;

public class ClassA extends ClassAAbstract{

    /**
     * Creates a new instance of ClassA
     */
    public ClassA(HttpServletRequest request) throws SQLException {
        super(request);
    }

    public ClassA(HttpServletRequest request, String id) throws SQLException {
        super(request, id);
    }

    // 新增的构造方法
    public ClassA(String str1, String str2, Connection conn) throws SQLException {
        super(str1, str2, conn);
    }
}

报错信息

测试代码调用新增构造方法时,提示:
no suitable constructor found for ClassA(String,String,Connection) constructor com.ClassA(HttpServletRequest) is not applicable
仅能识别原有的两个构造方法。

已尝试的排查操作

  • 关闭并重新打开项目
  • 删除NetBeans项目文件夹后重新导入打开
  • 删除NetBeans缓存后重复上述操作

此前相同环境下的旧版本项目可正常识别源码更新。

排查补充信息

  1. Edit 1:初始项目中已存在的类,后续代码更新无法被Test Packages识别;但新创建的类,代码更新可正常被测试包识别。
  2. Edit 2:部署到Tomcat的代码可正常运行新增构造方法,问题仅出现在测试包相关环节。

解决方案

发现项目依赖中存在包含**同名类(com.ClassA)**的Jar包,该Jar包中的类实现覆盖了Source Packages中的源码类。移除该Jar包后,测试代码可正常识别新增的构造方法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:07:29