项目运行遇eclipselink.canonicalmodel.use_static_factory未识别警告如何解决
原始编译日志:
Compiling 1 source file to C:\Users\User\Documents\NetBeansProjects\Chat\build\classes
warning: The following options were not recognized by any processor: '[eclipselink.canonicalmodel.use_static_factory]'
1 warning
compile-single:
run-single:
BUILD SUCCESSFUL (total time: 0 seconds)
翻译后日志:
正在将1个源文件编译到 C:\Users\User\Documents\NetBeansProjects\Chat\build\classes
警告:没有任何注解处理器可识别以下选项:'[eclipselink.canonicalmodel.use_static_factory]'
1 个警告
编译单个文件:
运行单个文件:
构建成功(总耗时:0秒)
警告产生原因
该警告属于Java编译阶段的提示信息,不会影响程序正常运行,触发原因如下:
你当前项目的编译配置中添加了eclipselink.canonicalmodel.use_static_factory参数,这个参数是专门给EclipseLink框架的JPA元模型生成注解处理器使用的,但项目中没有引入对应的EclipseLink注解处理器依赖,或是注解处理器没有被正确启用,编译器找不到能识别该参数的处理器,就会触发该警告。
解决方案
根据你是否需要用到EclipseLink的JPA元模型生成功能,可选择对应解决方式:
- 如果你不需要使用JPA元模型功能
直接删除多余的编译参数即可,NetBeans项目操作步骤如下:- 右键点击项目名称,选择「属性」
- 左侧菜单选择「构建」分类下的「编译」选项
- 找到「注解处理器选项」配置区域,删除
eclipselink.canonicalmodel.use_static_factory配置项,保存后重新编译项目即可消除警告。
- 如果你确实需要使用EclipseLink JPA元模型生成功能
补充对应依赖即可:- 往项目依赖中添加对应版本的EclipseLink注解处理器依赖,Maven项目可直接引入
org.eclipse.persistence:eclipselink依赖,普通Java项目可手动导入EclipseLink的jar包到项目依赖库 - 确认项目的注解处理器功能已经开启,重新编译后警告就会消失。
- 往项目依赖中添加对应版本的EclipseLink注解处理器依赖,Maven项目可直接引入
内容的提问来源于stack exchange,提问作者NivNaim

