【maven】maven+Myeclipse搭建
环境: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也是可以的。两个是一样的道理。