找文章 / 找答案
精选问答 更多内容

<永洪tech>入集市报错:Comparison method violates its general contract!

永洪tech-Bella白银一 显示全部楼层 发表于 2018-3-19 16:08:57 |阅读模式 打印 上一主题 下一主题
问题:同步数据集数据报错:Comparison method violates its general contract!


12.jpg


解决:
这个问题极有可能是jdk1.7的影响,出现这样的报错,首先检查永洪使用的jdk版本,如果是jdk1.7,那么在安装目录/tomcat/bin/catalina.sh文件中的JAVA_OPTS中添加如下配置-Djava.util.Arrays.useLegacyMergeSort=true。
13.png
添加配置后重启永洪,重新尝试同步数据集数据。
造成的原因是:JDK1.7修改了排序的实现,JDK1.7环境下面, 程序里面所有使用了Arrays.sort()的地方, 比如Query.cols()中. 都会有几率出现java.lang.IllegalArgumentException: Comparison method violates its general contract错误.添加这个配置是强制让jdk使用老版本的排序。

回复

使用道具 举报

精彩评论3

Arthur白银四 显示全部楼层 发表于 2018-3-27 10:17:34
永洪tech-Bella 发表于 2018-3-19 16:08
问题:同步数据集数据报错:Comparison method violates its general contract!

部分报表导出报错:Comparison method violates its general contract!
环境:7.5.2产品,1.8.0_144 JAVA环境,数据集中使用到了order by语法
验证步骤:a、拆分报表后正常导出;b、删除数据集中order by后仍无法导出;c、配置catalina.bat后正常导出。

解决:解决方式同上:配置-Djava.util.Arrays.useLegacyMergeSort=true

回复 支持 反对

使用道具 举报

yhdata_2LZWLWmc青铜一 显示全部楼层 发表于 2022-3-3 18:38:46
9.2.3b产品,11.0.10jdk,在安装目录/tomcat/bin/catalina.sh文件中的JAVA_OPTS中未找到JAVA_OPTS参数
回复 支持 反对

使用道具 举报

永洪tech-Bella白银一 显示全部楼层 发表于 2022-3-4 15:28:56
yhdata_2LZWLWmc 发表于 2022-3-3 18:38
9.2.3b产品,11.0.10jdk,在安装目录/tomcat/bin/catalina.sh文件中的JAVA_OPTS中未找到JAVA_OPTS参数 ...

加在这段后面,修改前先备份该文件 38.png
回复 支持 反对

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部