NetBeans搭配Maven项目时生成代码同步异常问题解决方案问询
自定义IDE构建目标,避免全量构建
你可以直接在NetBeans中为项目新增自定义构建配置,仅执行generate-sources阶段,跳过测试环节:右键项目→「构建和运行」→「新建配置」,执行目标填写generate-sources -DskipTests,之后直接在IDE中运行该配置即可完成代码生成,IDE原生触发的构建任务会自动识别生成的代码,无需额外同步操作。手动标记生成目录为源目录
避免插件配置识别异常的问题,可手动将生成路径注册为NetBeans的源目录:右键项目→「属性」→「源代码」→点击「添加文件夹」,分别选择${project.build.directory}/generated-sources/java和${project.build.directory}/generated-sources/resources,勾选「已生成的源目录」选项后保存。NetBeans会自动监听这两个目录的文件变更,你在命令行执行完构建切回IDE就会自动同步更新。调整Maven自动同步参数
打开NetBeans顶部菜单「工具」→「选项」→「Java」→「Maven」,勾选「检测外部项目修改并自动刷新」,同时将「自动重加载POM的延迟时间」调整为1秒以内,修改后IDE会自动识别命令行执行带来的POM和生成代码变更,无需手动点「reload POM」。快速刷新替代IDE重启
若偶尔出现同步失效的情况,无需关闭重启IDE,右键项目选择「刷新」或「重新加载项目」即可完成同步,你也可以在快捷键设置中为「重新加载项目」绑定自定义快捷键,进一步提升操作效率。
补充配置优化建议:你当前的POM配置需保证exec-maven-plugin的声明顺序在build-helper-maven-plugin之前,同处于generate-sources阶段时Maven会按照POM中的声明顺序执行,先生成代码再注册源目录,可避免NetBeans识别时目录不存在导致的同步失效问题。
内容的提问来源于stack exchange,提问作者Wheezil

