问题
geoserver又出现了问题,记录一下解决方案,以防遇到同样的问题。
切片图层界面在搜索时报错,如下图:
我记得有些情况会在下方展示出错的图层id,像下图这种情况在geoserver/data/gwc-layers
中找到对应的文件删除即可:
可是当我拉到最下面时,看见的却是java.lang.NullPointerException
:
分析
根据经验,肯定是某个图层有问题导致的。而当前的geoserver有500余个图层,实在无从下手。
我点了点翻页,发现第15页会报错,其他页面可以正常加载,说明问题图层在第15页。可即使知道问题出在第15页的某个图层,也束手无策。
因为TileLayers的列表顺序和图层的列表顺序完全不一样,也找不到任何规律。所以我根本不知道第15页是哪些图层(有知道TileLayers列表排序规则的朋友麻烦告诉我一下,感谢),也就无法继续排查了。
没办法,只能在网上搜索了。幸亏找到了一个解决方案:
Geoserver中点击TileLayers报错问题的一种解决办法。
解决
文章中关于“只要有错误的图层配置就会导致整个TileLayers报错”
的推断很有道理,那就试试预览。。
500多个图层,一个一个预览。。。
若干时间后,终于找到了罪魁祸首,如下:
该图层在点击预览时会下载一个wms文件。于是我找到了编辑图层
,点击确定时它报出同样的错误信息:java.lang.NullPointerException
。
问了一圈,由于该图层无人认领;那我就下辣手了……
删掉问题图层后,再去切片图层(TileLayers)搜索,没有报错。
翻到第15页,没有报错。
OK,问题解决。