GeoServer启动错误Error on startup, "java.lang.NoSuchFieldError KEY_CACHED_TILE_RECYCLING_ENABLED"

GeoServer启动时遇到'Error on startup, java.lang.NoSuchFieldError KEY_CACHED_TILE_RECYCLING_ENABLED'的问题,主要由JAI库版本冲突导致。解决方案包括:检查并替换JRE/lib/ext目录下的JAI包,或者更新Web容器中的JAI库版本,确保GeoServer使用的版本高于1.1.2。" 91449407,4134661,使用HashMap对Java/Android List进行去重,"['Java开发', 'Android开发', '数据处理', '数据结构']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 近日偶的元数据服务软件在某省局站点启动时没有成功启动地图服务,之前从未见过此等现象。

错误表现:

org.springframework.beans.FatalBeanException: Could not instantiate class
[org.vfny.geoserver.global.GeoServer]; constructor threw exception; nested
exception is java.lang.NoSuchFieldError: KEY_CACHED_TILE_RECYCLING_ENABLED
org.springframework.beans.FatalBeanException: Could not instantiate class
[org.vfny.geoserver.global.GeoServer]; constructor threw exception; nested
exception is java.lang.NoSuchFieldError: KEY_CACHED_TILE_RECYCLING_ENABLED
java.lang.NoSuchFieldError: KEY_CACHED_TILE_RECYCLING_ENABLED
        at org.vfny.geoserver.global.GeoServer.initJAI(GeoServer.java:719)
        at org.vfny.geoserver.global.GeoServer.load(GeoServer.java:494)
        at org.vfny.geoserver.global.GeoServer.<init>(GeoServer.java:129)
仔细询问后,得知之前很好。只是安装了另一个基于Java的系统后就出现问题了。

搜索GeoServer网站有TroubleShooting部分内容,幸好此处有略介绍。

 

这主要是因为使用JAI库版本冲突引起,gs使用的是jai1.1.2,出现引错误可能是classpath里面的JAI版本1.1或者更老。

通常有两个原因会导致这个情况:

1.另外的软件可能把JAI包安装到jre/lib/ext下面,该包会覆盖其它其它所有应用程序的包。

2.Web容器共享库里面有个老版本的JAI库,通常会放到Classpath里面去。

第一种情况可以从JAI网站上去下载最新的稳定版来覆盖旧版本即可。

第二种情况,从网站上下载纯java版本的jai安装包,来覆盖共享库里的。或者找寻一种方法使得web容器加载jar包比共享库的早。

回头跟省局的同仁再查查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值