如何制定tomcat部署时自己定义的docBase路径
装了tomcat后发现tomcat安装在系统跟路径地下,每次部署的时候挺麻烦的,于是想指定一个自己定义的应用部署的路径:
以下是如何指定,相关文档请查看https://tomcat.apache.org/tomcat-4.1-doc/appdev/deployment.html
注意你的tomcat的版本,我在网上查的时候由于自己的版本是7.0.6,而部署的方法有几个版本,3.1和4.1就不一样
先讲我自己的是7.0.6版本部署方式是打开tomcat的根目录在conf文件夹底下修改server.xml文件在 最下面的</Host>标签上面添加一个指定docBase路径的
context flag:如
<Context path="" docBase="~/Documents/javaProject/webapps/" reloadable="true" />
注意两个小细节:
一个是指定docBase时不要忘记了这个docBase是一个文件夹所以如上webapps后面要加上/
另外一个是docBase下要有一个WEB-INF文件夹结构里面的结构和tomcat跟目录底下的webapps的一致。

这样以后你的java class 和application 依赖的jar包就可以分别放在这个WEB-INF文件夹底下的class和lib下了
现在讲讲3.1版本的tomcat是怎么弄的:
3.1版本的tomcat也是添加context flag,但是添加的位置是在tomcatroot/conf文件夹下的apps.xml中,由于有可能这个文件夹底下没有这个文件
这时候你需要自己创建一个这样的文件创建完后再往里面添加
<?xml version="1.0" encoding="ISO-8859-1"?>
<webapps>
<Context path="" docBase="~/Documents/javaProject/webapps/" reloadable="true" />
</webapps>
这样就好了(由于我的是7.0.6版本所以没有试成功) 补充一下 用tomcat部署的应用可以指定的几个属性(都是用context flag来配置的)
path:这个是指定访问哪个web应用用的
docBase:指定你发布的应用程序在哪里
debug:跟tomcat的log相关
reloadble:设置为true,tomcat会自动检测你WEB-INF/class下的class文件或WEB-INF/lib中的jar包是否有新的更新,如果有的话tomcat会自动关闭并将更新加载完后重启(大概意思是这样的) trusted:访问tomcat内部类(一般情况是管理员对tomcat的操作) 翻译都是什么鬼(见原文:)
- path. The context path for your application, which is the prefix of a request URI that tells Tomcat which application should be used to process this request. For example, if you set your path to "/catalog", any request URI beginning with "/catalog" will be processed by this application. This attribute is requrired, and must start with a slash ('/') character.
- docBase. The document root directory for this web application. This can be a relative path (relative to the directory in which Tomcat is started), or an absolute path, to the directory containing your app. On a Windows platform, you MUST use the drive prefix and a colon when specifying an absolute path. This attribute is required.
- debug. Debugging detail level (from "0" to "9") that defines how verbose Tomcat's logging messages will be when your application is initialized, started, and shut down. The default value is "0" (minimal logging) if you do not specify a different value.
- reloadable. Set to "true" if you want Tomcat to watch for changes to Java class files in the WEB-INF/classes directory, or JAR files in the WEB-INF/lib directory. If such a change is noted, Tomcat will shut down and reload your application automatically, picking up these changes. The default value ("false") means that such changes will be ignored. NOTE: While this feature is very useful during development, it requires overhead to do the checking. This capability should generally not be used in deployed production applications.
- trusted. Set to "true" if this application requires access to Tomcat 3.3 internal classes. Normally, this will only be required for the administration application that ships with Tomcat.
如何制定tomcat部署时自己定义的docBase路径的更多相关文章
- Tomcat部署时war和war exploded的区别
转自徐刘根的Tomcat部署时war和war exploded区别以及平时踩得坑 一.war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: ...
- tomcat 部署时修改服务器时间
tomcat 在部署时修改了服务器时间 会出现以下状况 1.session 失效 2.修改的文件不会正确被tomcat热部署进去
- IDEA Tomcat部署时war和war exploded区别以及平时踩得坑
war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...
- 170223、Tomcat部署时war和war exploded区别以及平时踩得坑
war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...
- Tomcat部署时war和war exploded区别及验证
war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...
- IDEA中Tomcat部署时war和war exploded区别
原理说明 war模式:将WEB工程以包的形式上传到服务器 :war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器: 含义解释 war模式这种可以称之为是发布模式,看名字也知道, ...
- Tomcat部署时war和war exploded区别以及平时踩得坑
war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...
- Tomcat部署时war和war exploded区别以及打包后路径问题
感谢原文作者:keven_deng 原文链接:https://blog.csdn.net/keven_deng/article/details/104830664 war和war exploded的区 ...
- JDK和Tomcat部署时,版本不同的问题解决
问题: 在以Tomcat作为Web容器,启动java Web工程时,遇到下面问题:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatExcep ...
随机推荐
- 在.NET Core程序中设置全局异常处理
以前我们想设置全局异常处理只需要这样的代码: AppDomain currentDomain = AppDomain.CurrentDomain; currentDomain.UnhandledExc ...
- 原生JS 获取浏览器、窗口、元素等尺寸的方法及注意事项
一.通过浏览器获得屏幕的尺寸 screen.width screen.height screen.availHeight //获取去除状态栏后的屏幕高度 screen.availWidth //获取去 ...
- 插入排序---希尔插入排序算法(Javascript版)
取一个小于n的整数作为第一个增量,把序列分组.所有距离为增量的倍数的元素放在同一个组中.先在各组内进行直接插入排序:然后,取第二个增量(第二个<第一个)重复上述的分组和排序,直至所取的增量=1, ...
- 【C#】添加引用方式抛出和捕获干净的WebService异常
说明:[干净]指的是客户端在捕获WebService(下称WS)抛出的异常时,得到的ex.Message就是WS方法中抛出的异常消息,不含任何“杂质”. 前提:你对WS有编写权.就是说如果你调的是别人 ...
- SQL更改表字段为自增标识
下面是SQL语句: --删除主键约束 ) select @Constraint_Name = Name from dbo.sysobjects where Xtype = 'PK' and Paren ...
- 【Java每日一题】20161121
package Nov2016.use01; class Test { public String getString(){ return "123"; } } package N ...
- UVA 10090 Marbles 扩展欧几里得
来源:http://www.cnblogs.com/zxhl/p/5106678.html 大致题意:给你n个球,给你两种盒子.第一种盒子每个盒子c1美元,可以恰好装n1个球:第二种盒子每个盒子c2元 ...
- NYOJ:题目490 翻译
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=490 这题的输入输出格式好像描述的不太清楚,1)可能是所有数据都完成输入,然后再输出(解法 ...
- ErrorExecution failed for task 'apptransformClassesWithDexForDebug'
[原因]: 在工程中既有本地的lib.jar文件,又有compile链接.
- nodejs操作mongodb数据库封装DB类
这个DB类也算是我经历了3个实际项目应用的,现分享出来,有需要的请借鉴批评. 上面的注释都挺详细的,我使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的. 关 ...