环境:win7+MyEclipse8.6+maven3.2.1
安装maven
1. 下载maven,解压到目录d下;
2. 配置maven环境变量:MAVEN_HOME;添加path变量;
3. dos中输入mvn -version测试设置是否成功,若出现,则成功;
修改本地仓库
本地仓库是通过你的配置从远程下载jar的,默认的本地仓库在c盘用户目录下的.m2\repository下
1. 进入maven的安装目录下conf/setting.xml添加如下代码。此时,本地仓库就更改成了下面的目录。
<localRepository>C:\Users\Administrator\06_maven\apache-maven-3.2.1\maven_jar</localRepository>
配置maven+myeclipse
进入MyEclipse的window->preferences窗口的左侧能看到有个maven的选项。
点击installations,选择右边的ADD按钮,选择自己机器安装好的maven。
接着点击User Settings,设置user
settings,选择%maven_home%\conf\settings.xml;然后update
此时设置了MyEclipse和Maven、maven仓库的关联。
查看window-->preferences-->java-->build
path-->classpath
variables找到M2_REPO,路径就是本地仓库的路径。
创建以maven风格搭建的web项目
1. new->others->maven->maven
project.
使用默认的workspace路径,路径不在你想指定的路径下的时候需要制定到那个路径下。
选择maven-archetype-webapp,这表明是在创建一个web工程;如果要创建普通java工程,则选择maven-archetype-quickstart。
设置groupid、artifactid和package名。
此时一个maven项目便建好了。
建好的项目路径如下:
2. 添加src/main/java的source
folder来存放我的java文件,建立一个src/main/test来存放测试类。
3.
指定class文件输出的位置。
右击项目名称,选择properties(最后一个),选择javabuildpath->source-选择下面一个,填入target/classes。此时java的字节码文件便全部保存在target/classes下。
4. 配置tomcat,使用tomcat-maven-plugin这个插件内嵌到我们项目中。
内嵌方法就是在pox.xml里面添加如下代码
<build>
<finalName>MyTest</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId><!--指定tomcat插件-->
<version>1.1</version>
<executions>
<execution>
<id>tomcat-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<path>/</path><!--访问路径-->
<port>8080</port><!--端口号-->
<warSourceDirectory>src/main/webapp</warSourceDirectory><!--这里相当于指定我们平常的webroot路径,下面是web.xml的路径-->
<tomcatWebXml>src/main/webapp/WEB-INF/web.xml</tomcatWebXml>
</configuration>
</plugin>
</plugins>
</build>
如此tomcat-maven-plugin就已经配置好了。
5. 配置三个启动参数。
run as->run configurations->Maven
Build。这里添加的maven的编译、打包和tomcat启动三个参数。
maven build右击new ,新建一个起名叫compile,添加main参数clean compile -e;
maven build右击new ,新建一个起名叫package,添加main参数package;
maven build右击new ,新建一个起名叫tomcat,添加main参数tomcat:run;
以上三个的base directory都是:${workspace_loc:/MyTest}
6. 先运行配置好的编译命令,然后运行打包命令,最后运行tomcat。此时,tomcat就跑起来了。
此时运行的tomcat是什么tomcat?info里面有:Running war on
http://localhost:8080/,难道一定要war拷贝到tomcat下启动?
【整个过程注意查看myeclipse下面的信息,出现错的话,一定要看错误分析】
7.
在target中找到war包,然后将其拷贝到tomcat的webapps下,启动tomcat。输入localhost:8080\MyTest\,就可以查看了。此时是用war发布的web工程。
出现的错误总结:
1. 跳出框框异常的信息:Could not get mojo execution paramater value
Plugin
org.apache.maven.plugins:maven-compiler-plugin:2.0.2 or one of its dependencies
could not be resolved: Missing:
错误原因:缺少maven-compiler-plugin:2.0.2。然后我转到maven仓库中查找,确实没有找到这个jar包,在.m2下却是有的。
我的解决办法:将.m2下的jar包拷贝过来的。
这里有个问题:maven仓库是什么时候构建的?构建的原则是什么?为什么后来就没有了?(网上有人说是网速导致没有下载完)
实验室有同学采用新建项目的时候,直接选择支持maven也是可以的。两个是一样的道理。