1、maven的安装
1)下载地址:http://maven.apache.org/download.cgi
下载后直接解压缩即可。
安装成功测试:命令行下输入startup验证是否能启动服务器
2)maven环境变量的配置
开始--〉计算机--〉属性--〉高级系统设置--〉环境变量-
新建--〉M2_HOME=C:\apache-maven-3.3.3
添加--〉path=%M2_HOME%\bin
安装成功测试:命令行下输入mvn -versio验证是否能输出maven的版本信息
2、tomcat的安装
1)下载地址http://tomcat.apache.org/download-70.cgi
下载后直接解压缩
2)tomcat环境变量的配置
开始--〉计算机--〉属性--〉高级系统设置--〉环境变量-
新建--〉TOMCAT=C:\apache-tomcat-7.0.62
添加--〉path=%TOMCAT%\bin3、maven和tomcat在命令行环境下的集成
1)tomcat的配置
第一步:修改tomcat安装目录下的conf文件夹里的tomcat-users.xml文件
添加角色权限
======================================
=======================================
验证:访问http://localhost:8080
第二步:修改安装目录下conf文件夹中的context.xml文件,添加内容
====================================
====================================
注意:可以先不进行配置
当出现
org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.core.DefaultInstanceManager cannot be cast to org.apache.tomcat.InstanceManager错误时可以作为一种解决方案。
参考内容:http://fanshuyao.iteye.com/blog/1688314
2)maven的配置
第一步:修改Repository的存储位置,修改maven安装目录下的conf文件夹下的settings.xml文件
========================================
========================================
第二步:添加刚才tomcat设置的角色权限
=======================================
=======================================
第三步:生成maven工程项目,进入命令行,输入
命令:mvn -B archetype:generate-DarchetypeGroupId=org.apache.maven.archetypes-DgroupId=com.mycompany.app-DartifactId=my-app
参考内容:http://maven.apache.org/guides/getting-started/index.html#How_do_I_make_my_first_Maven_project
第四部:修改生成项目下的pom.xml文件
在project下添加
=======================================
=======================================
在denpencies下添加
======================================
注意:可以先不添加,但后续如果遇The plugin 'org.apache.maven.plugins:maven-tomcat7-plugin' does not exist or no valid version could be found,而且maven没有自动下载该发jar,可以作为一种解决方案。
======================================
3)其他问题解决
问题1:No server specified for authentication - using defaults
解决:重启tomcat,还不行,重启电脑。
4)执行命令
mvn clean
mvn install
mvn tomcat7:deploy
这时候你你可以在tomcat目录下的webapps文件夹里找到你需被部署的web项目。
这就说明成功了。
注意:在输入上面的命令后,一切都是build success,但是仍旧没有部署成功,没有生成war包。
修改pom.xml文件,修改成
===================================
===================================
4、maven、tomcat在eclipse环境下的集成
1)安装m2e
Elipse--〉help--〉install new software-->输入链接http://download.eclipse.org/technology/m2e/releases/1.3--〉下一步即可
参考内容http://www.eclipse.org/m2e/
2)eclipse的配置
第一步:配置jdk windows--〉preferences--〉java--〉install jres --〉选择jdk安装目录
第二步:配置tomcat windows--〉preferences--〉server--〉runtime environment --〉选择tomcat安装目录,并选择jdk版本
第三步:配置maven windows--〉preferences--〉maven--〉installions--〉选择自己安装的maven
3)新建maven项目
New--〉Maven--〉maven project--〉catalog选择internal,filter可以输入webapp快速查找maven-archetype-webapp--〉输入groupid和artifactId即可。
4)项目配置
右击项目--〉BuildPath--〉Configure Build Path-->java build path
--> 选择source--〉去掉两个带错误的source folder--〉add folder--〉在src目录下创建test/java和test/resources的folder
--〉选择libraries--〉双击jre选择自己安装的版本
--〉maven--〉project facts--〉选中Dynamic web module --〉further configuration avaliable--〉设置web.xml的content directory为src/main/webapp
--〉Deployment assembly--〉去掉不需要部署的文件,主意是test文件--〉add--〉双击java build path entries --〉添加maven dependencies
参考内容:http://itindex.net/detail/47994-eclipse-maven-web
该配置解决了
eclipse 中的server不识别maven项目问题
The plugin 'org.apache.maven.plugins:maven-tomcat7-plugin' does not exist or no valid version could be found这个问题也消失了。
5)pom配置
同命令行环境下配置
6)常见问题
Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2FmyApp&war=
如上问题,有如下两个原因:
A、由于maven没有权限访问http://localhost:8080/manager/text,所以需要在apache-tomcat下的tomcat-users.xml增加用户权限,并配置于maven的setting文件中
B、由于maven-tomcat插件问题,在pom.xml正确引入tomcat7-maven-plugin插件,与此同时在eclipse中的maven build中要使用最新的命令。package tomcat7:deploy
参考内容:http://my.oschina.net/jerryhu/blog/295279
finally,if you see this vision,you‘ve made it,aha~
总结:花了一个星期的时间才弄好的,也真是奇葩了,各个版本的组合,各种莫名其妙的问题。不过在这个过程中自己也学到了好多,在apache的官网摸爬滚打,使得自己看起其项目的组织结构内容如鱼得水,找起资料也非常的迅速了。一直都说官网的资料详细,但是自己按照官网的步骤做了还是会出现各种的问题,哎,还好有广大网友的智慧作为补充,当然这其中又存在各种坑。这次的原材料是maven、tomcat、tomcat-maven-plugin,m2e,eclipse jee。实践出真知,这样子安安静静地做一件事情,慢慢地积累,离大牛就更近一步了。