启动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 ============ 启动方式有 ...
随机推荐
- Linux和windows动态库
转载:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 态链接库技术实现和设计程序常用的技术,在Windows和Linux系 统中 ...
- UESTC_秋实大哥搞算数 2015 UESTC Training for Data Structures<Problem N>
N - 秋实大哥搞算数 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Subm ...
- 关于set和map的用法
1.set 定义:每个元素最多只出现一次,并且默认的是从小到大排序. set 遍历: 题目http://www.cnblogs.com/ZP-Better/p/4700218.html for(set ...
- Ubuntu学习-简单指令
查看是否安装了中文支持 locale -a 如果有 zh_CN.utf8 则表示系统已经安装了中文locale,如果没有则需要安装相应的软件包. 软件管理 apt ( Advanced Packagi ...
- ubuntu 步步为营之uclinux编译和移植(完整版)
本节主要包含(ubuntu10.04) 一,linux下的经常使用压缩解压缩命令 二,环境建立 三,内核编译 四,移植 一,linux下的经常使用压缩解压缩命令 在linux下常见的压缩文件格式有ta ...
- Android应用程序组件Content Provider的启动过程源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6963418 通过前面的学习,我们知道在Andr ...
- Springmvc和velocity使用的公用后台分页
Springmvc和velocity使用的公用后台分页 类别 [选择一个类别或键入一个新类别] Springmvc和velocity使用的公用后台分页 样式: 使 ...
- win8下 web测试 之 hosts绑定
从这个开始,开启web测试之旅 绑定hosts: 1.在C:\Windows\System32\drivers\etc下找到 hosts 文件 2.将hosts文件复制到一个地方: 3.修改hosts ...
- C#.NET面向对象(语法点)
一.继承 C#中继承的规则 1:继承是可传递的 A:B B:C 2:派生类应当是对基类的扩展.派生类可以添加新的成员,但不能除去已经继承的成员的定义. 3:构造函数和析构函数不能被继承 4:如果派 ...
- iOS开发面试题整理 (一)
1. Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类多继承在这里是用protocol 委托代理 来实现的 你不用去考虑繁琐的多继承 ,虚基类的概念 ...