一、环境准备
我使用的环境是:Window 10、Tomcat 8.0.36、maven3、tomcat7-maven-plugin 2.2版本。
二、设置环境变量
安装Tomcat8.0.36和maven之后设置环境变量,Tomcat设置环境变量时,key为必须为CATALINA_HOME。
1.设置maven环境变量
MAVEN =D:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\plugins\maven\lib\maven3\bin
(我直接引用了InteljiIDEA中的maven)
2、设置TOMACAT环境变量
CATALINA_HOME=E:\tomcat\apache-tomcat-8.0.36
3、将他们添加到PATH中
PATH=%MAVEN%;%CATALINA_HOME%\bin;

三、在Tomcat中配置用户权限
在tomcat的配置文件tomcat_user.xml(%CATALINA_HOME%\conf\tomcat.user.xml)中的< tomcat-users >标签中添加

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="username" password="password" roles="manager-gui,manager-script"/>
  • 1
  • 2
  • 3

四、在Maven的settings.xml配置Server
在Maven的配置文件settings.xml(%MAVEN%\conf\settings.xml)中的< servers > 中加入

<server>
<id>tomcat8</id>
<username>username</username>
<password>password</password>
</server>
  • 1
  • 2
  • 3
  • 4
  • 5

这里的username 、password就填我们在tomcat中配置的那个用户名,和密码
这里的设置的 id为 tomcat8 我们将在项目的 pom.xml中填写。

五、在项目的pom.xml中配置tomcat7-maven-plugin插件
在< build> 中引入插件:

 <build>
<pluginManagement>
<plugins>
...
<!-- 配置tomcat 插件 -->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat8</server>
<path>/test</path>
<update>true</update>
</configuration>
</plugin>
</plugins>
</pluginManagement>
....
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

注意
1、这里的 < server> 中填写的就是为们在%MAVEN%\conf\settings.xml配置中的那个id
即 tomcat8.
2、由于我用的tomcat8这里的< url> 必须配置成 xxx/manager/text否则会部署不成功

3、由于部署时会下载一些东西最还是在 pom.xml 的< project >标签下加入以下代码:

<repositories>
<repository>
<id>people.apache.snapshots</id>
<url>
http://repository.apache.org/content/groups/snapshots-group/
</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories> <pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshots</name>
<url>http://repository.apache.org/content/groups/snapshots-group/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

六、deploy
1、开启tomcat
2、在pom.xml所在的目录执行 mvn tomcat7:deploy 命令部署项目。

七、遇到的问题
1、在Window系统下执行在执行 mvn tomcat7:undeploy时,会有残留在tomcat目录下
解决方法:在tomcat的配置文件context.xml中 的< Context >标签中添加属性:antiJARLocking=”true” antiResourceLocking=”true”

<Context antiJARLocking="true" antiResourceLocking="true">

一个基本maven项目的pom.xml配置

2017-01-07 09:03 4886人阅读 评论(1) 收藏 举报
分类:
maven(18)

版权声明:本文为博主原创文章,未经博主允许不得转载。

继续之前创建的test项目,一个基本项目的pom.xml文件,通常至少有三个部分

第一部分,项目坐标,信息描述等

  1. <modelVersion>4.0.0</modelVersion>
  2. <groupId>com.company.project</groupId>
  3. <artifactId>module</artifactId>
  4. <packaging>war</packaging>
  5. <version>0.0.1-SNAPSHOT</version>
  6. <name>test Maven Webapp</name>
  7. <url>http://maven.apache.org</url>

modelVersion:pom文件的模型版本

关于group id和artifact id,为了便于多人多模块协同开发管理(以后会讲),建议使用以下命名规范

group id:com.公司名.项目名

artifact id:功能模块名

packaging:项目打包的后缀,war是web项目发布用的,默认为jar

version:     artifact模块的版本

name和url:相当于项目描述,可删除

group id + artifact id +version :项目在仓库中的坐标

第二部分,引入jar包

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>3.8.1</version>
  6. <scope>test</scope>
  7. </dependency>
  8. </dependencies>

这是创建项目时自动生成的,将junit-3.8.1.jar引入到项目中。

dependency:引入资源jar包到本地仓库,要引入更多资源就在<dependencies>中继续增加<dependency>

group id+artifact id+version:资源jar包在仓库中的坐标

scope:作用范围,test指该jar包仅在maven测试时使用,发布时会忽略这个包。需要发布的jar包可以忽略这一配置

刚开始本地仓库是空的,maven会从远程仓库自动下载这个jar到本地仓库,下载完后,就可以在项目中使用这个jar了

如果将<dependency>的内容删除,junit-3.8.1.jar也会自动消失,无法使用

第三部分,构建项目

  1. <build>
  2. <finalName>helloworld</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.apache.maven.plugins</groupId>
  6. <artifactId>maven-compiler-plugin</artifactId>
  7. <version>3.5.1</version>
  8. <configuration>
  9. <source>1.7</source>
  10. <target>1.7</target>
  11. </configuration>
  12. </plugin>
  13. <plugin>
  14. <groupId>org.apache.maven.plugins</groupId>
  15. <artifactId>maven-resources-plugin</artifactId>
  16. <version>3.0.1</version>
  17. <configuration>
  18. <encoding>UTF-8</encoding>
  19. </configuration>
  20. </plugin>
  21. </plugins>
  22. </build>

build:项目构建时的配置

finalName:在浏览器中的访问路径,如果将它改成helloworld,再执行maven--update,这时运行项目的访问路径是

http://localhost:8080/helloworld/   而不是项目名的  http://localhost:8080/test

plugins:插件,之前篇章已经说过,第一个插件是用来设置java版本为1.7,第二个插件是我刚加的,用来设置编码为utf-8

group id+artifact id+version:插件在仓库中的坐标

configuration:设置插件的参数值

 

使用tomcat7-maven-plugin部署Web项目的更多相关文章

  1. jenkins maven svn 部署web项目到本地Tomcat

    查了N多网页,折腾了几个小时,终于部署成功,部署的过程比较坎坷,遇到各种问题,记录一下,不管大家是否会遇到的同样的问题,希望有所帮助: 常规操作: 1.下载jenkins,必须要做的一步,http:/ ...

  2. 关于Maven打包Java Web项目以及热部署插件Jrebel的使用

    Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...

  3. Maven实现项目构建直接部署Web项目到Tomcat

    Maven实现项目构建直接部署Web项目到Tomcat配置如下: 1.Tomcat的用户及权限配置:在conf目录下,找到tomcat-users.xml,添加manager权限的用户. <ro ...

  4. 开发过程使用Tomcat Maven插件持续快捷部署Web项目

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

  5. 使用IntelliJ IDEA和Maven构建Java web项目并打包部署

    爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html 一.背景 现在越来越多的人使用IntelliJ IDEA工具进 ...

  6. 在Tomcat中部署Web项目的操作方法,maven项目在Tomcat里登录首页报404

     maven项目在Tomcat里登录首页报404, 解决:编辑conf/server.xml进行配置<Host>里的<Context>标签里的path. <Context ...

  7. eclipse+maven远程(自动)部署web项目到tomcat

    [转自] http://blog.csdn.net/dhmpgt/article/details/11197995 eclipse集成maven后可以用maven命令把web项目自动部署到tomcat ...

  8. 【Maven】Eclipse 使用Maven创建SpringMVC Web项目

    创建环境 系统:win 10 软件:eclipse,maven. 创建步骤 创建一个Maven Web项目,可以参照:[Maven]Eclipse 使用Maven创建Java Web项目 添加spri ...

  9. jenkins部署web项目到webogic

    注: Docker容器里安装的jenkins,Docker容易里安装的weblogic 在jenkins里面直接将打包好的 war 包通过 Publish over SSH插件 放入 weblogic ...

  10. [原]Jenkins(七)---jenkins项目编译测试发布由maven构建的web项目

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

随机推荐

  1. jstl fn:replace替换换行符

    textarea输入换行符后应该是'\n',在div中展示时替换成'<br>' 找到一种方法用jsp标签 jstl fn:replace方法 使用fn:replace方法之前 先要把jst ...

  2. jstat命令的使用及VM Thread分析

    http://www.javatang.com/archives/2017/10/20/12131956.html 前面提到了一个使用jstack的shell脚本,通过命令可以很快地定位到指定线程对应 ...

  3. 基于HDFS的SparkStreaming案例实战和内幕源码解密

    一:Spark集群开发环境准备 启动HDFS,如下图所示: 通过web端查看节点正常启动,如下图所示: 2.启动Spark集群,如下图所示: 通过web端查看集群启动正常,如下图所示: 3.启动sta ...

  4. Google Chrome 35 Released – Install on RHEL/CentOS 6 and Fedora 20-15

    Google Chrome is a freeware web browser developed by Google Inc. Google Chrome team proudly announce ...

  5. Wamp访问缓慢、本地主机访问缓慢解决方案

    Wamp访问缓慢.本地主机访问缓慢解决方案 Wamp访问速度缓慢可能的原因:          1.一般原因: Wamp的日志文件太大.处理办法,将位于wamp/logs/下的日志文件清空.     ...

  6. 1、硬件IO口配置;

    对于MTK TP驱动移植一般分为六部分: 1.硬件IO口配置: 2.TP驱动移植. 3.I2C通信: 4.中断触发: 5.数据上报: 6.虚拟按键. 硬件电路: 1.GPIO配置 打开 mediate ...

  7. hdu4888 多校B 最大流以及最大流唯一推断+输出方案

    题意.给一个矩阵,告诉你每行和.每列和.而且限制所填数不大于k,问矩阵是否唯一. 经典建图不说了.第一次遇到推断最大流唯一性的.学习了:用dfs来推断残网中是否还存在环,若存在,则表明绕这个环走一圈, ...

  8. web-压力测试学习

    https://blog.linuxeye.com/335.html http://bdql.iteye.com/blog/291987 http://www.cnblogs.com/zhuque/a ...

  9. .Net、C# 汉字转拼音,简体繁体转换方法

    Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...

  10. Python基础之模块2

    如何导入多个模块? import re #单行导入多个模块 '''多行导入多个模块''' import re import sys import os 如何给模块起别名? import my_modu ...