windows 配置Tomcat8.5多实例,实现开发包文件(Workspace)与源程序分离
2017-10-07 14:46
483 查看
最近一直在使用微软的vscode ,发现是一个十分强大的前端开发工具,最近又推出了java Extends tool 包括redhat 编写的基于Eclispe功能的插件,以及MS在这个插件基础上开发debug插件,真心一个好用。唯一的缺点就是需要手动添加project,目前只支持maven和eclipse的项目,废话不多说了。
Tomcat支持多实例,就是一个机器开的多个服务,当然这些服务必须被定义在不同的端口,另外考虑到开发文件不想和服务器文件混在一起,管理上会用混乱的感觉,所以经过1天的研究,把相关的技术过程记录一下。
1、本次配置的是使用Tomcat最近的稳定版本8.5
下载,解压到一个本地目录如下图
2、在本地目录找一个文件夹,用于放置不同的tomcat实例,我就放在了我的vscode工作目录下了
3、在复制Tomcat程序包中的conf文件夹、startup.bat、shutdown.bat到多实例包中,其他文件夹tomcat会帮助创建
4、最重要的部分,也是浪费我时间最多的部分,修改bat文件,因为之前对批处理文件了解的不是特别多,这次也是顺带学习了一下。修改该startup文件如下
@echo off
setlocal
rem Guess CATALINA_HOME if not defined
set "CATALINA_BASE=%cd%"
set "CATALINA_HOME=D:\Document\userlibery\Tomcat\8.5" #这里填写你自己程序的实际路径
if "%CATALINA_BASE%" == "" echo CATALINA_BASE is null
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
:end
shoutdown.bat文件修改一下CATALINA_HOME变量的path就可以了,不再详细说了
5、启动startup.bat文件,自动生成其他文件如下
6、在conf中修改该servlet.xml文件中的connector项,修改端口号等等,否则会出现地址冲突
7、自此tomcat多实例已经配置完成,下面是实现项目与服务器文件分离的方法,
首先,通过多实例已经实现了源程序与配置文件分离的目的,通过在实例目录中的conf\Catalina\localhost文件夹,添加xml配置文件,实现程序与server分离
文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="D:/Document/VScode/WebApp/WebContent"
path=""
reloadable="true"
><Resources>
<PreResources
base="D:/Document/VScode/WebApp/WebContent/WEB-INF/classes"
classLoaderOnly="false"
className="org.apache.catalina.webresources.DirResourceSet"
internalPath="/"
webAppMount="/WEB-
INF/classes"/>
</Resources></Context>
Tomcat支持多实例,就是一个机器开的多个服务,当然这些服务必须被定义在不同的端口,另外考虑到开发文件不想和服务器文件混在一起,管理上会用混乱的感觉,所以经过1天的研究,把相关的技术过程记录一下。
1、本次配置的是使用Tomcat最近的稳定版本8.5
下载,解压到一个本地目录如下图
2、在本地目录找一个文件夹,用于放置不同的tomcat实例,我就放在了我的vscode工作目录下了
3、在复制Tomcat程序包中的conf文件夹、startup.bat、shutdown.bat到多实例包中,其他文件夹tomcat会帮助创建
4、最重要的部分,也是浪费我时间最多的部分,修改bat文件,因为之前对批处理文件了解的不是特别多,这次也是顺带学习了一下。修改该startup文件如下
@echo off
setlocal
rem Guess CATALINA_HOME if not defined
set "CATALINA_BASE=%cd%"
set "CATALINA_HOME=D:\Document\userlibery\Tomcat\8.5" #这里填写你自己程序的实际路径
if "%CATALINA_BASE%" == "" echo CATALINA_BASE is null
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
:end
shoutdown.bat文件修改一下CATALINA_HOME变量的path就可以了,不再详细说了
5、启动startup.bat文件,自动生成其他文件如下
6、在conf中修改该servlet.xml文件中的connector项,修改端口号等等,否则会出现地址冲突
7、自此tomcat多实例已经配置完成,下面是实现项目与服务器文件分离的方法,
首先,通过多实例已经实现了源程序与配置文件分离的目的,通过在实例目录中的conf\Catalina\localhost文件夹,添加xml配置文件,实现程序与server分离
文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="D:/Document/VScode/WebApp/WebContent"
path=""
reloadable="true"
><Resources>
<PreResources
base="D:/Document/VScode/WebApp/WebContent/WEB-INF/classes"
classLoaderOnly="false"
className="org.apache.catalina.webresources.DirResourceSet"
internalPath="/"
webAppMount="/WEB-
INF/classes"/>
</Resources></Context>
当前的方法,重新定义了docBase指向,path指定了在服务其的相对路径,其应该一目了然了。自此在项目目录下WEB-INF/web.xml文件配置serlet信息就可以了
相关文章推荐
- windows下配置Nginx+memcached+tomcat实现负载均衡以及动静资源分离
- nginx反向代理tomcat、实现动静分离/配置文件
- apache和tomcat相结合使用实现伪静态,同时把静态文件从工程里分离开(一)
- 黑马程序员--数组的反射,反射的实现框架实例,配置文件加载
- apache和tomcat相结合使用实现伪静态,同时把静态文件从工程里分离开(一)
- windows下,c /c++实现磁盘扫描,结合配置文件,读取特定后缀文件目录代码
- Axis2和Tomcat6.0开发Web Service环境配置 测试和实例 整理
- Andoid - 开发实例(5):上传文件实现方法
- Node.js Redis Expess 开发环境配置及Session实现服务器间共享实例
- C#开发Windows服务实例之实现禁止QQ运行
- rcp(插件开发) 去掉plugin_customization.ini文件,在代码中实现配置功能
- apache2.2 httpd.conf文件转发给tomcat配置实例
- NO1:安装VMLinux虚拟机,安装配置Samba实现Linux与Windows文件共享
- windows下,c /c++实现磁盘扫描,结合配置文件,读取特定后缀文件目录代码
- Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件
- Fedora 9中如何配置Samba来实现WINDOWS与LINUX之间的文件共享!
- windows下,c /c++实现磁盘扫描,结合配置文件,读取特定后缀文件目录代码
- 同一Windows主机上一个Apache服务+两个独立Tomcat服务配置实例