更改geoserver的 GEOSERVER_DATA_DIR

默认情况下,geoserver启动会去读取系统环境变量,JAVA_HOME``GEOSERVER_HOME``GEOSERVER_DATA_DIR

因此,方法1,直接修改环境变量来替换data_dir,控制面板->系统(->系统)->高级系统设置->环境变量->系统或用户变量

方法2,这些处理语句写在 bin/start.bat 里,利用这点可以去自定义目录。

这里讲下法2,用到法2的情况多半是由于电脑上有多个geoserver或者多个项目共用一个geoserver 情况,为了方便管理不同项目的数据目录

观察到start.bat里有这么一段判断的语句,

:checkGeoServerHome
rem GEOSERVER_HOME not defined
if "%GEOSERVER_HOME%" == "" goto noHome

rem GEOSERVER_HOME defined incorrectly
if not exist "%GEOSERVER_HOME%\bin\startup.bat" goto badHome
:checkDataDir
  rem GEOSERVER_DATA_DIR not defined
  if "%GEOSERVER_DATA_DIR%" == "" goto noDataDir
  goto setMarlinRenderer

因此只要在最前面把环境变量设置以下就可以了,语法类似SET XXX=XX,这里直接将start.bat里面设置的语句粘贴到前面,即使用根目录下data_dir

echo Temporarily setting GEOSERVER_HOME to the following directory:
cd ..
set GEOSERVER_HOME=%CD%
echo %GEOSERVER_HOME%
set GEOSERVER_DATA_DIR=%GEOSERVER_HOME%\data_dir
echo The GEOSERVER_DATA_DIR environment variable is not defined correctly.
echo Temporarily setting GEOSERVER_DATA_DIR to the following directory:
echo %GEOSERVER_DATA_DIR%
cd bin
echo.

要放在所有goto的前面,

这样要切换data_dir 只要多建几个start.bat 修改后启动对应的即可。

同理,更改JAVA_HOME也只需要将对应版本的jdk压缩包解压到geoserver根目录,并设定相应的路径即可。

echo Temporarily setting GEOSERVER_HOME AND JAVA_HOME to the following directory:
cd ..
set GEOSERVER_HOME=%CD%
echo GEOSERVER_HOME: %GEOSERVER_HOME%
set GEOSERVER_DATA_DIR=%GEOSERVER_HOME%\data_dir
echo GEOSERVER_DATA_DIR: %GEOSERVER_DATA_DIR%
set JAVA_HOME=%GEOSERVER_HOME%\jdk-11.0.1
echo JAVA_HOME: %JAVA_HOME%
cd bin
echo.

或者,新建一个bat专门用来处理环境变量,再调用startup.bat原文件就不用改动了

echo Temporarily setting GEOSERVER_HOME AND JAVA_HOME to the following directory:
cd ..
set GEOSERVER_HOME=%CD%
echo GEOSERVER_HOME: %GEOSERVER_HOME%
set GEOSERVER_DATA_DIR=%GEOSERVER_HOME%\data_dir
echo GEOSERVER_DATA_DIR: %GEOSERVER_DATA_DIR%
set JAVA_HOME=%GEOSERVER_HOME%\jdk1.8.0_431
echo JAVA_HOME: %JAVA_HOME%
cd bin
echo.
call startup.bat
pause
posted @   百分号%  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示