之前公司服务器上用的geoserver版本是2.13.x,很多功能不支持,想着更新到新版本。按照官网的教程,备份了原来的data目录,下载了新版本war包后替换原本的部署目录,再把data中的数据目录放进去,重启tomcat,没问题。
(参考:升级现有版本-geoserver官方文档)
访问图层的时候问题来了,之前发布的服务都还在,但是有些能访问,有些访问就报错了??
检查了一下,在图层预览页面,类型那一列,有些显示的是一个小方块,而不是正常的点线面标志,挨个看了一些,果然是这些不能访问。
在图层页面看了一下这几个不正常的图层,点进去以后最上面有报错信息,
搜索了一下,果然也有人遇到过类似的问题,参考链接:GeoServer踩过的坑-版本升级
大概找到问题所在了,发布服务的时候,shp文件的命名带有中文,也许是因为geoserver某个版本升级的时候对中文的编码方式变了,导致旧版本配置文件里的中文无法正确解析,需要手动修改配置文件。
修改方式:
每个图层对应的配置文件在geoserver的部署目录下,找到部署目录下的data/workspaces文件夹,找到发布图层时的工作区文件夹,这里面就是每个图层发布时对应的配置文件。例如我的geoserver部署目录是/opt/geoserver,工作区名称是map,我的路径就是:/opt/geoserver/data/workspaces/map/
例如我要修改的图层名是test,在这个路径下找到test/test/featuretype.xml文件,打开,
把红框框出来的两部分修改成对应的shp文件的文件名,保存,重启geoserver,图层就能正常访问了。
在这里还要注意,修改文件的时候建议用命令行直接修改,或者用notepad修改。我用mobaxterm自带的文本编辑器修改文件之后,保存再打开是乱码,不知道是哪里的问题。
如果记不住图层发布时的shp文件路径和标题,可以在图层页面找到对应图层,“存储”里面有shp文件的路径,“图层名称”里面有发布时的图层标题。例如我要修改的图层名是test,
重启geoserver的方法:
进入geoserver的服务器状态页面,点击“配置和目录”一行最后的“重新载入”按钮。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧