赞
踩
自己开发了一个网址(基于angular),想共享给别人,直接点击运行,通过tomcat部署网站方式执行。
从官网上下载tomcat,我下载的是tomcat9.0.36,下载完成后,解压:
双击bin/startup.bat即可运行(环境变量如果配置过java_home路径)。
将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_181\jre
如下图所示:
将网站内容拷贝到tomcat/webapps/ROOT下:
我的angular程序如果部署到webapps下,路径访问始终不正确,不知为啥,待研究。
打开tomat下的bin/startup.bat,文件,添加启动网站(我的tomcat启动更改了端口为8866):
start "" % SoftWareRoot % "http://localhost:8866"
点击bin/startup.bat,即可启动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文件,添加跨域
<!-- 跨域 -->
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如下图所示:
设置完成后,重启tomat,并记得刷新网站或清除缓存。
打开tomcat的conf/context.xml文件,添加如下语句:
<Resources cacheMaxSize="1024000" cachingAllowed="true"></Resources>
8、Tomcat启动显示乱码
tomcat启动后显示一堆乱码,如下图所示:
更改配置文件(conf/logging.properties):
java.util.logging.ConsoleHandler.encoding = UTF-8
更改为:
java.util.logging.ConsoleHandler.encoding = GBK
为了方便,将gdal和java放到bin目录下,如下图所示:
java如果设置17会需要额外设置其他参数,因此用java11(参考geoserver官网)。
设置startup.bat启动(tomcat环境中,windows:可配置setclasspath.bat文件(已测试);linux:可能可配置setclasspath.sh文件(未测试)),主要设置java_home和gdal路径,如下所示:
- @echo off
-
- rem -----------------------------------------------------------------------------
- rem Startup Script for GeoServer
- rem -----------------------------------------------------------------------------
-
- cls
- rem get java home directory and set java home and set gdal directory
-
- set currentFolder=%~dp0
- echo current folder is: %currentFolder%
- echo.
-
- echo set java_home to the current folder
-
- set 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-1\bin;%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1\bin\gdal\java
- set GDAL_DRIVER_PATH=%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1\bin\gdal\plugins
- set GDAL_DATA=%currentFolder%release-1916-x64-gdal-3-6-4-mapserver-8-0-1\bin\gdal-data
-
- echo.
- rem set env para finishd!!!
-
- echo Welcome to GeoServer,Now Starting!
- echo.
- set error=0
-
- rem JAVA_HOME not defined
- if "%JAVA_HOME%" == "" goto trySystemJava
-
- rem JAVA_HOME defined incorrectly
- if not exist "%JAVA_HOME%\bin\java.exe" goto badJava
-
- rem Setup the java command and move on
- set RUN_JAVA=%JAVA_HOME%\bin\java
- 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获取当前目录,然后进行设置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。