文档章节

maven tomcat 插件将项目部署至tomcat根目录

喔喔兒
 喔喔兒
发布于 2017/03/24 15:40
字数 584
阅读 107
收藏 0

1. pom.xml 添加 tomcat插件:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <path>/</path>
                <url>http://127.0.0.1:8080/manager/text</url>
                <update>true</update>
                <server>tomcat</server>
                <username>tomcat</username>
                <password>tomcat</password>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 这里的url为tomcat manager的url,后面一定是/manager/text,这个是manager上传war包的路径;
  • 这里的path为“/”,指tomcat根目录,即,访问链接为:127.0.0.1:8080;
  • update节点为true,这样每次deploy的时候,就会更新之前的war包,不然会报错;

2. server节点在maven conf/setting.xml里设置,这是maven的配置: 

  <servers>
    <server>
      <id>other</id>
      <username>admin</username>
      <password>admin</password>
    </server>
    <server>
      <id>tomcat</id>
      <username>tomcat</username>
      <password>tomcat</password>
    </server>
<servers>
  • 这里的server可以配置多个,只要ID不一样就可以;

3. tomcat配置里,添加tomcat user:

 <tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="admin-script"/>
  <role rolename="manager-script"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>
  <user username="tomcat" password="tomcat" roles="manager-script" />
</tomcat-users>
  • 这里是比较坑的地方,tomcat的manager-admin角色和manager-gui角色不能同时给一个账号使用;需要分开;
  • 所以上面pom.xml和maven的server里面使用的都是tomcat这个账号,这个是专门用manager-script这个角色的;

4. tomcat的server.xml不需要做任何处理,不需要加context path="/"节点,加了就不对了:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
      prefix="localhost_access_log" suffix=".txt"
      pattern="%h %l %u %t &quot;%r&quot; %s %b" />        
</Host>
  • 这里不需要添加context节点;
  • autoDeploy要设置为true,unpackWARs也为true;

5. 启动8080端口的tomcat,然后IDE里,点击“tomcat7”》“tomcat7:deploy”,会将war包上传到tomcat的webapps根目录:
部署之前:
    
 这里保留tomcat的manager项目
 点击“deploy”:
    
部署日志:    

[INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) < package @ project <<<
[INFO] 
[INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ project ---
[INFO] Deploying war to http://127.0.0.1:8080/  
Uploading: http://127.0.0.1:8080/manager/text/deploy?path=%2F&update=true
Uploaded: http://127.0.0.1:8080/manager/text/deploy?path=%2F&update=true (21698 KB at 61291.7 KB/sec)
[INFO] tomcatManager status code:200, ReasonPhrase:OK
[INFO] OK - Deployed application at context path /
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.025 s
[INFO] Finished at: 2017-03-24T15:30:10+08:00
[INFO] Final Memory: 29M/448M
[INFO] ------------------------------------------------------------------------
Process finished with exit code 0

部署之后:
    
     maven tomcat插件会将war自动重命名为ROOT.war,之后上传到webapps的目录,然后tomcat会自动将war包解压,实现自动部署。
6. 访问:http://127.0.0.1:8080/  

 

© 著作权归作者所有

喔喔兒
粉丝 26
博文 64
码字总数 11003
作品 0
大连
程序员
私信 提问
Tomcat Maven Plugin部署Maven Web应用

Tomcat官方提供了Maven插件用于部署基于Maven的Web应用,不同版本Tomcat使用的插件不同,不同版本插件的使用也有一定区别,详细信息可参考http://tomcat.apache.org/maven-plugin.html。下面...

大漠真人
2014/09/02
2.8K
8
Maven tomcat7-maven-plugin 部署Maven Web 项目

1: 配置Tomcat Manager 用户: 重新解压缩了一个新的tomcat7,打开Tomcat根目录下conf目录中的tomcat_user.xml,在<tomcat-users>节点下添加manager角色和用户,用于Tomcat Maven Plugin自动...

alexgaoyh
2015/04/11
20K
9
开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson。Hudson本身已经跟SVN、Git、Maven集成并且支持添加各种插件。但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目...

优雅先生
2014/10/11
29.8K
25
Maven 远程打包

官方提供了Maven插件用于部署基于Maven的Web应用,不同版本Tomcat使用的插件不同,不同版本插件的使用也有一定区别,详细信息可参考http://tomcat.apache.org/maven-plugin.html。下面记录的...

逝去的回忆
2016/10/12
148
0
Maven的热部署

第一步:配置Tomcat的登录的用户名和密码 第二步:启动Tomcat,直接访问http://localhost:8080,点击下图红色标记按钮 第三步:在下图标记输入用户名和密码 第四步:查看登录后页面,出现下面的页面...

黄马ming
2017/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RxJava进行单元测试的方式

@Test public void completeTask_retrievedTaskIsComplete() { // Given a new task in the persistent repository final Task newTask = new Task(TITLE, ""); ......

SuShine
18分钟前
3
0
正则表达式大全

检验手机号码 # 要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。import redef verify_mobile(): mob = input("请输入手机号码:") ret = re.match(r"1[358]\d{9}", m......

彩色泡泡糖
22分钟前
5
0
QT之border-image属性

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅Firefox3.5,chrome浏览器,Safari3+支持...

shzwork
22分钟前
6
0
Kubernetes Operator简易教程

1. 安装operator-sdk //安装 operator-sdk$ apt-get install operator-sdk.....$ operator-sdk versionoperator-sdk version: v0.7.0$ go versiongo version go1.11.4 darwin/amd64 2......

Robotcl_Blog
22分钟前
5
0
再谈DAG任务分解和Shuffle RDD

1、DagScheduler分析 DagScheduler功能主要是负责RDD的各个stage的分解和任务提交。Stage分解是从触发任务调度过程的finalStage开始倒推寻找父stage,如果父stage没有提交任务则循环提交缺失...

守望者之父
28分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部