首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tomcat9上运行的GeoServer 2.17.1WAR找不到GEOSERVER_DATA_DIR上下文参数

在Tomcat9上运行的GeoServer 2.17.1WAR找不到GEOSERVER_DATA_DIR上下文参数
EN

Stack Overflow用户
提问于 2020-06-30 05:44:50
回答 1查看 297关注 0票数 0

我在Tomcat9中安装了GeoServer 2.17.1作为WAR servlet。

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\geoserver\data

一切都正常工作。但是,如果数据文件位于

C:\Users\geoserveruser\Documents\GeoServerData

并将以下context-param添加到

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\geoserver\WEB-INF\web.xml

代码语言:javascript
复制
<context-param>
   <param-name>GEOSERVER_DATA_DIR</param-name>
   <param-value>C:\Users\geoserveruser\Documents\GeoServerData</param-value>
</context-param> 

找不到数据目录。实际上,新目录是在

C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\geoserver\data

当Tomcat重新启动时。GeoServer文档

https://docs.geoserver.org/stable/en/user/datadirectory/setting.html#web-archive

指示这是配置GeoServer数据目录的正确方法,上下文参数在web.xml中提供,只需取消注释和编辑即可。

为什么这不能像文档中指出的那样工作?

更新:在Tomcat日志文件中找到这些

代码语言:javascript
复制
29 Jun 16:35:17 WARN [geoserver.platform] - Found Servlet context parameter GEOSERVER_DATA_DIR set to C:\Users\geoserveruser\Documents\GeoServerData , but this path does not exist

29 Jun 16:35:17 INFO [geoserver.platform] - Falling back to embedded data directory: C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\geoserver\data

这解释了为什么要创建一个新的数据目录。

C:\Users\geoserveruser\Documents\GeoServerData

肯定存在,并且我验证了当前(和所有用户)对该目录具有读写权限。

有什么想法?

EN

回答 1

Stack Overflow用户

发布于 2020-06-30 15:29:20

这是因为\不是一个非常适合用作路径分隔符的字符,因为它们被用作转义字符。因此,如果你必须使用\,那么有必要使用其中的两个来避免它们的逃逸,这样你的路径就会变成C:\\Users\\geoserveruser\\Documents\\GeoServerData,但更好和更容易的是与其他计算世界保持一致,并使用/作为路径分隔符,从而提供C:/Users/geoserveruser/Documents/GeoServerData

老实说,如果你要麻烦地安装Tomcat,这可能会是一台生产机器,在这种情况下,你可能应该重新考虑整个windows的想法,并使用适当的操作系统,而不需要在每个请求时使用CPU病毒扫描的50%+。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62647157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档