Netbeans下Tomcat项目登录时Servlet类实例化报错及构建失败求助
问题根因
两个报错为因果关系:
- 构建报错
error: option -Xbootclasspath/p: not allowed with target 15是核心问题:-Xbootclasspath/p是JDK 8及更早版本用于追加引导类路径的参数,JDK 9引入模块系统后该参数被废弃,JDK 15已完全移除对该参数的支持,直接导致项目编译失败。 - 编译失败后未生成
com.ronak.signin类的有效字节码文件,Tomcat加载Servlet时无法找到可用类,因此抛出Servlet实例化失败的500异常。
修复步骤
- 移除无效编译参数
右键项目打开属性面板,进入「构建」分类下的「编译」选项,删除「附加编译器选项」中所有-Xbootclasspath/p:开头的配置,保存后重试清理构建。 - 对齐JDK版本配置
若删除参数后仍构建失败,核对两处版本配置:- 项目属性「源」分类下的「源代码/二进制格式」版本,与本地安装的JDK版本保持一致。如果项目原本基于JDK 8开发,可直接将项目运行的JDK环境切换为JDK 8,规避高版本兼容问题。
- Tomcat服务器的运行JDK版本,与项目编译使用的JDK版本保持一致,避免后续运行时类版本不兼容错误。
- 验证修复效果
构建成功后重新启动项目,测试登录功能即可。
内容的提问来源于stack exchange,提问作者RONAK MALKAN
相关产品推荐
相关产品推荐

