素材巴巴 > 程序开发 >

tomcat启动配置java_home,启动网址等,点击startup.bat直接启动

程序开发 2023-09-18 09:45:48

自己开发了一个网址(基于angular),想共享给别人,直接点击运行,通过tomcat部署网站方式执行。

1、下载tomcat

从官网上下载tomcat,我下载的是tomcat9.0.36,下载完成后,解压:

双击bin/startup.bat即可运行(环境变量如果配置过java_home路径)。

2、配置java_home路径在bat文件中

将jdk包拷贝到tomcat目录下,我用的jdk为jdk1.8.0_181,拷贝到tomcat目录下如下图所示:

 打开bin/setclasspath.bat文件,编辑,添加JAVA_HOME和JRE_HOME

set JAVA_HOME=%CATALINA_HOME%jdk1.8.0_181
set JRE_HOME=%CATALINA_HOME%jdk1.8.0_181jre

如下图所示:

 3、部署网站到tomcat

将网站内容拷贝到tomcat/webapps/ROOT下:

我的angular程序如果部署到webapps下,路径访问始终不正确,不知为啥,待研究。

4、设置运行启动网站

打开tomat下的bin/startup.bat,文件,添加启动网站(我的tomcat启动更改了端口为8866):

start "" % SoftWareRoot % "http://localhost:8866"

 5、运行网站

点击bin/startup.bat,即可启动tomcat服务,并同时启动网站。

6、tomcat跨域(自行网上搜索答案)

Tomcat通过CORS解决跨域问题:

1)下载库文件

a.java-property-utils-1.9.1.jar

https://repo1.maven.org/maven2/com/thetransactioncompany/java-property-utils/1.9.1/java-property-utils-1.9.1.jar

b.java-property-utils-1.9.1.jar

http://search.maven.org/remotecontent?filepath=com/thetransactioncompany/java-property-utils/1.9.1/java-property-utils-1.9.1.jar

2)拷贝库文件到tomcat的lib目录下

3)更改tomcat的conf/web.xml文件,添加跨域

 
   
        CorsFilter
        org.apache.catalina.filters.CorsFilter
       
          cors.allowed.origins
          *
       

     

     
        CorsFilter
        /*
     

如下图所示:

 设置完成后,重启tomat,并记得刷新网站或清除缓存。

7、tomcat在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间问题

打开tomcat的conf/context.xml文件,添加如下语句:

8、Tomcat启动显示乱码

tomcat启动后显示一堆乱码,如下图所示:

更改配置文件(conf/logging.properties):

java.util.logging.ConsoleHandler.encoding = UTF-8

更改为:

java.util.logging.ConsoleHandler.encoding = GBK

Windows下Startup.bat直接启动设置(Geoserver2.23.1,GDAL3.6.4,JAVA11)

为了方便,将gdal和java放到bin目录下,如下图所示:

java如果设置17会需要额外设置其他参数,因此用java11(参考geoserver官网)。 

设置startup.bat启动(tomcat环境中,windows:可配置setclasspath.bat文件(已测试);linux:可能可配置setclasspath.sh文件(未测试)),主要设置java_home和gdal路径,如下所示:

@echo offrem -----------------------------------------------------------------------------
 rem Startup Script for GeoServer
 rem -----------------------------------------------------------------------------cls
 rem get java home directory and set java home and set gdal directoryset currentFolder=%~dp0
 echo current folder is: %currentFolder%
 echo.echo set java_home to the current folderset JAVA_HOME=%currentFolder%jdk-11.0.19+7
 echo.echo set gdal path
 echo.set PATH=%PATH%;%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1bin;%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1bingdaljava
 set GDAL_DRIVER_PATH=%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1bingdalplugins
 set GDAL_DATA=%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1bingdal-dataecho.
 rem set env para finishd!!!echo Welcome to GeoServer,Now Starting!
 echo.
 set error=0rem JAVA_HOME not defined
 if "%JAVA_HOME%" == "" goto trySystemJavarem JAVA_HOME defined incorrectly
 if not exist "%JAVA_HOME%binjava.exe" goto badJavarem Setup the java command and move on
 set RUN_JAVA=%JAVA_HOME%binjava
 echo JAVA_HOME: %JAVA_HOME%
 echo.:checkGeoServerHome

主要是

rem get java home directory and set java home and set gdal directory

rem set env para finishd!!!

之间添加了设置环境变量的相关参数,用%~dp0获取当前目录,然后进行设置。

windows下出现GDAL环境报错--Native library load failed(不能加载动态库错误),导致geoserver识别gdal失败,解决方案如下(成功过的):

拷贝gdal的bin目录下的动态库到JDK版本的bin(%JAVA_HOME%/jre/bin/或%JAVA_HOME%/bin/)中,如下图所示:


标签:

上一篇: 一个基本的 go httpserver 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。