gradle - 为什么 Gradle 构建因 java11 和 jfreechart 依赖而失败?
问题描述
我有一个 Java 8 应用程序,我想将它带到 Java 11。Gradle 5.0 构建包含对 JFreeChart 1.5.0 的依赖项,并且 JAVA_HOME 设置为从 Oracle 安装的 jdk-11.0.1。构建时得到以下输出:
> Task :nemclient:compileJava
error: clone() in AbstractXYItemRenderer cannot implement clone() in PublicCloneable
attempting to assign weaker access privileges; was public
AbstractXYItemRenderer 类由 JFreeChart 库提供。有两个问题:
- 为什么构建最终会抱怨?由于我不认为 Gradle 会尝试构建库(此处未提供库源),因此导致此错误的原因是什么?
- 对库源代码的分析表明,该类
AbstractXYItemRenderer
根本PublicClone
没有直接或间接地实现接口。
当克隆方法的修饰符从受保护更改为公共时,错误消失。但我宁愿保持代码不变。
顺便说一句:Eclipse 中的同一个项目(使用 Java 11 插件和提到的 jdk-11.0.1)没有编译问题。
解决方案
推荐阅读
- c - 无论如何要将此值赋予我的节点
- c# - 多边形在c#中没有正确填充
- 3d - “单位”四元数和“身份”四元数有什么区别?
- r - 返回包含 r 中预定范围之外的数据的列列表
- spring-boot - spring-boot-maven-plugin:启动不识别应用程序已经启动
- asp.net - 如何在 asp.net mvc 5 中使用身份框架和代码优先方法自动为角色和用户创建表
- python - 我可以强制表达式被 numba 视为常量吗?
- php - Laravel 请求返回负载均衡器 ip 而不是客户端 ip
- phpstorm - 如何在 PhpStorm 中禁用高亮显示
- docker - dockerhub 自动构建 - 需要广泛的 github 权限?