启动Tomcat的几种方式
启动Tomcat有两种场景,一是部署时启动,二是开发时启动。部署时基本上是通过war包来启动,而开发时的启动方式多种多样,下面拟介绍几种适用于开发时启动Tomcat的方法。
- 在DOS命令行启动
Apache Tomcat提供了一个名为tomcat7-maven-plugin的插件,该插件提供了多种启动Tomcat的方式。这里我们主要关心的是tomcat7:run启动方式。
tomcat7:run所启动的是内置的Tomcat,与你本机是否安装了Tomcat无关。该内置的Tomcat会被Maven自动下载,并在执行tomcat7:run时被启动。我们可以在pom.xml里对这个内置Tomcat进行参数配置。使用内置Tomcat的好处是每次启动都是一个干净的环境,如果你长时间没关心某个工程,而突然要进行开发时,这个干净的环境很重要,让你立即还原到以前的工作环境中。
使用tomcat7:run时又有两个场景。如果你只有war工程,并且与其相关的jar文件都已上传到Maven服务器上了(或已安装到本地Maven库中),你可以在war工程的目录下执行下面的命令来启动:
mvn tomcat7:run
该命令将自动地把本地Maven库上的jar文件增加到classpath路径上,同时还会自动编译war工程,但并不打war包,启动较快。
另一个使用场景是,如果你有全部工程的源程序(若干jar工程和一个war工程),并且需要不时地修改程序,你可以在根工程下通过下面的命令来启动:
mvn tomcat7:run -am -pl abc
其中,假设abc是你的war工程名。该命令将自动地把各工程的源程序编译到各自的target/classes目录下,并添加到classpath路径中。同样,该命令也不打war包,减少了启动时间。
需要注意的是,上面的命令只处理根pom.xml里<modules>中定义的工程,其它所依赖的工程仍直接取本地Maven库中的jar文件。当然,我们也必须把那个war工程(即上面的abc)也定义到<modules>中才行。
- 在Eclipse里启动
在Eclipse里安装m2e和m2e-wtp插件后就可以在Servers中启动Tomcat了,这是我们首选的启动方式,此法不再赘述。
此外,我们还可以在Eclipse里执行上面说到的“mvn tomcat7:run”或“mvn tomcat7:run -am -pl abc”命令。在Eclipse里执行Maven命令比在DOS窗口里执行的一个好处是复制粘贴更容易,并且在程序抛异常后可以直接点击超链接打开对应的程序,并定位到出错的地方。
要想在Eclipse里执行Maven命令,你可以右键war工程或根工程 -> Run As -> Maven Build,然后在新出现的窗口的Goals输入框里输入“tomcat7:run”、或“tomcat7:run -am -pl abc”即可。
启动Tomcat的几种方式的更多相关文章
- Tomcat:使用JMX监管Tomcat的几种方式
Tomcat使用JMX管理方式,在Tomcat的自带应用manager就是使用了JMX方式来管理Tomcat,以此完成Web应用的动态部署.启动.停止. 然而manager应用是一种本地使用JMX接口 ...
- 将web应用部署到Tomcat的三种方式
Tomcat作为Servlet/JSP容器(服务器)挺不错的,开源免费,需要知道的是Tomcat是一个Web服务器,其符合Servlet/JSP规范,但是却没有实现所有JavaEE规范,所以我们还是应 ...
- 【Tomcat】部署Web到tomcat的四种方式
一.静态部署 1.直接将web项目文件件拷贝到webapps 目录中 Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用.所以可以将JSP ...
- Android-创建启动线程的两种方式
方式一:成为Thread的子类,然后在Thread的子类.start 缺点:存在耦合度(因为线程任务run方法里面的业务逻辑 和 线程启动耦合了) 缺点:Cat extends Thread {} 后 ...
- @Autowired注解和启动自动扫描的三种方式(spring bean配置自动扫描功能的三种方式)
前言: @Autowired注解代码定义 @Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, Elemen ...
- C#单独启动进程的几种方式
本文实例讲述了C#启动进程的几种常用方法.分享给大家供大家参考.具体如下: 1.启动子进程,不等待子进程结束 private void simpleRun_Click(object sender, S ...
- Android启动Activity的两种方式与四种启动模式
1.在一个Activity中调用startActivity()方法 2.在一个Activity中调用startActivityRequest()方法. 重写onActivityResult方法,用来接 ...
- 【转】SpringBoot启动服务的三种方式
1.IDEA启动 2.命令行启动 首先将命令行位置跳转到当前项目的根目录下,再输入“mvn spring-boot:run”命令,初次操作maven需要下载插件等待几分钟 3.命令行编译为jar启动 ...
- android 启动 service 的两种方式,及什么时候用哪个 android 什么时候用bindService
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha android 什么时候用bindService ============ 启动方式有 ...
随机推荐
- logstash nginx 访问日志
log_format main '$remote_addr [$time_local] "$request" ' '$request_body $status $body_byte ...
- Linq to Sql自动生成实体类重名情况的处理
使用Linq to sql自动生成实体类时,如果要生成多个库的实体类,往往会遇到类名重名的情况,也就是表名重名,这样编译会不通过,这种情况下要在自动生成的实体类文件中(.designer.cs后缀)将 ...
- 在Linux CentOS 6.5 (Final)上安装git-1.9.0
CentOS 6.5 (Final)默认安装的git版本为1.7.1.3,而我们希望安装1.9.0版本.由于rpm安装库里没有1.9.0版本,因此我们需要找其它方法来安装. 网上有很多文章介绍了如何从 ...
- BarTender打印出来的条码与设计的不同如何处理
今日有用户在使用BarTender设计打印条码时发现自己设计出来的条码与打印显示的条码有不一样的地方,也就是BarTender模板上的条码有显示警戒栏,但打印的条码警戒栏却没了,这一问题要如何解决呢? ...
- 虚拟机下opensips 启动
先启动MYSQL mysql:service mysqld start 然后启动RTP代理 rtpproxy -l 192.168.6.199 -s udp:192.168.6.199:7890 -F ...
- WebApi 文件上传
1. 注意给form表单加上enctype = "multipart/form-data" 属性,否则会导致Action的参数HttpPostedFileBase 对象接收不到文件 ...
- 在EasyUI中统一判断是否有选中行,如果有则将选中行数据传入回调函数
function procossWithSeletedData(func) { var rowData = $("#tbGrid").datagrid("getSelec ...
- Oozie — What Why and How
Oozie是什么? Oozie最初是Yahoo!为Hadoop开发的一个工作流调度器,一个工作流有多个Job组成.它允许用户提交由多个Job组成的工作流配置文件,这些Job既可以顺序执行,也可以并行执 ...
- Log4j学习手记
注:今天难得清闲,学了下log4j,参考博文 http://www.cnblogs.com/pony/archive/2008/08/25/1275484.html ,文字部分基本上来自该博文,我只是 ...
- github Permission denied (publickey)解决办法
想要玩玩git,参考了网友懒惰之计的一篇Blog<github:如何获取项目源代码 >,按部就班完成了所有的步骤的, 可在测试的时候,遇到了问题,总是报错”github Permissio ...