maven用作工程的构建工具有极大的优势,搭建好maven后来实现一个maven webapp,并运行它。
一、创建maven工程
选择"maven project",然后点击“下一步”
Next
--------------------------------------------------------------------------扩充内容----------------------------
(说明:选择默认的“All catalog”中的“maven-archetype-webapp”可能会出现如下图的错误,
这里使用的“maven catalog”是一个远程的xml文件,在后面图示中配置)
错误详情如下:
配置远程的maven catalog 步骤如下:
(http://repo1.maven.org/maven2/archetype-catalog.xml)
配置以后就可以在选择的时候选择“maven catalog”了。
--------------------------------------------------------------------------扩充内容------------------------------------
输入项目信息
然后等待项目构建
二、设置Tomcat user
在tomcat-users.xml中加入内容
</tomcat-users> <!-- 为maven发布web项目加入用户 --> <role rolename="admin-gui"/> <role rolename="admin-script"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/> <!-- 为maven发布web项目加入用户 --> </tomcat-users>
如图:
三、设置maven setting.xml
在mavn的安装目录conf 下的setting.xml内的servers标签中加入如下代码:
<!-- 为Tomcat发布加入 -->
<server>
<id>tomcat</id>
<username>admin</username>
<password>password</password>
</server>
<!-- 为Tomcat发布加入 -->
如图:(username,password同上面的tomcat-users.xml内的user标签中)
四、修改pom.xml
<!-- 为发布加入 -->
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<path>/path</path>
<server>tomcat</server>
<username>admin</username>
<password>password</password>
</configuration>
</plugin>
</plugins>
<!-- 为发布加入 -->
(说明:path是指定访问路径,如该工程的访问路径是:
http://localhost:8080/path)
(提示:此处设置不是通用的,可能会报错,遇到问题可参考
http://stackoverflow.com/questions/5410479/tomcat-maven-plugin-403-error 解决)
五、运行 Maven build ..
运行 maven build ... 输入package tomcat :redeploy 点击run. (而后可以直接点解maven build运行)
会看到build success提示,发布成功。
六、其他:
可能会遇到如下错误:
原因:可能是Tomcat 未启动成功
可能会遇到如下错误:
ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.0-beta-1:redeploy (default-cli) on project sinbad-ordering-pizza: Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/sinbad/text/deploy?path=%2Fproject&war=&update=true -> [Help 1]
原因:可能是权限不足等。