我用的是myeclipse6.5和Maven3.0.3,与其他版本的有点出入,其实所谓的出入基本算大同小异。 下载Maven3.0.3到本地,解压后配置Maven环境变量,在用户变量中新建变量名:maven_home,变量值:C:\Program Files\apache-maven-3.0.3(根据自己机器上解压后的maven所在的位置而定);而后在path变量的变量值最后面加上"%maven_home%\bin;"。设置好测试Maven是否安装成功,CMD,在命令窗口中输入:mvn -version;如果出现如下界面说明maven安装成功
接下来修改maven的本地仓库(maven很根据你的配置从远程下载jar到本地,这里的仓库就是存放这些下载过来的jar,同时也是maven使用jar的一个仓库),找到%maven_home%\conf目录,修改下面的settings.xml内容
开始时这段代码是被注释的,且有一个默认的路径,去掉注释,注如果你不想用这个默认的路径就改成自己的路径,这里的d:\jar\maven_jar;便是我的路径。改好之后保存
接下来在Myeclipse中配置maven,首先myeclipse得装好maven插件,可以通过在线装maven,eclipse的各个版本装Maven插件的方法都有些小不同,根据自己版本去网上找一下装maven插件的方法。装好maven插件后,在myeclipse的window-》preferences窗口的左侧能看到有个maven的选项,如下图:
我们需要添加一个外部的maven,也就是自己机器上安装的那个maven,点击installations,选择右边的ADD按钮,选择自己机器安装好的maven,如下图
接着点击User Settings,设置user settings,选择%maven_home%\conf\settings.xml;设置local repository为本地仓库,即在settings.xml所设置的路径:如下图
设置好这一步后,在window-->preferences-->java-->build path-->classpath variables找到M2_REPO,edit,编辑path为你的本地仓库(如果已经是本地仓库了就不要编辑了)
至此,eclipse+maven的开发环境已经全部搭建好了,开始可以建立项目开发了。
新建项目,选择maven project
选择default workspace location
选择webapp
如此一个maven项目便建立好了
下面按照我们平时的开发习惯把项目来重构一下,上图中结构中只有src/main/resources,我们还需要建立几个source folder。右键-->new-->source folder,建立一个src/main/java的source folder来存放我的java文件,建立一个test来存放测试类。
建立好之后在java buildpath里面设置source(就是class文件输出的位置),依次选择output folder,双击后在对话框中输入target/classess
接着来配置tomcat,我们使用tomcat-maven-plugin这个插件内嵌到我们项目中。(我只说配置方法,至于理论譬如什么是maven、tomcat-maven-plugin以及pom.xml的作用介于篇幅而且网上很多这类的文章我就不复述了)
找到项目当中的pom.xml,打开编辑这个文件,以下是我另外一个pom.xml的文件,我捡知道的解释一下。
- <projectxmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 <a href="http://maven.apache.org/maven-v4_0_0.xsd%22>%09<modelVersion>4.0.0</modelVersion>%09<groupId>lyvee.maven.example</groupId>%09<artifactId>lyvee.maven.example</artifactId>%09">http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>lyvee.maven.example</groupId>
- <artifactId>lyvee.maven.example</artifactId>
- <spanstyle="text-decoration: underline;"><spanstyle="color: rgb(0, 0, 255);"><!-- 把项目打成war包形式发布-->
- </span></span></a> <packaging>war</packaging>
- <version>0.0.1-SNAPSHOT</version>
- <name>lyvee.maven.example Maven Webapp</name>
- <url>http://maven.apache.org</url>
- <!--
- 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
- * compile,缺省值,适用于所有阶段,会随着项目一起发布。
- * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
- * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
- * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
- * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
- -->
- <pluginRepositories>
- </pluginRepositories>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <finalName>lyvee.maven.example</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>8090</port><!--端口号-->
- <warSourceDirectory>src/main/webapp</warSourceDirectory>><!--这里相当于指定我们平常的webroot路径-->
- <tomcatWebXml>webapp/WEB-INF/web.xml</tomcatWebXml>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </project>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 <a target=_blank href="http://maven.apache.org/maven-v4_0_0.xsd%22%3E%09%3CmodelVersion%3E4.0.0%3C/modelVersion%3E%09%3CgroupId%3Elyvee.maven.example%3C/groupId%3E%09%3CartifactId%3Elyvee.maven.example%3C/artifactId%3E%09" style="color: rgb(67, 113, 166);">http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>lyvee.maven.example</groupId> <artifactId>lyvee.maven.example</artifactId> <span style="line-height: 19px;"><span style="color: rgb(0, 0, 255);"> <!-- 把项目打成war包形式发布--> </span></span></a> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>lyvee.maven.example Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 在POM 4中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值: * compile,缺省值,适用于所有阶段,会随着项目一起发布。 * provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。 * runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。 * test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。 * system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。 --> <pluginRepositories> </pluginRepositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>lyvee.maven.example</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>8090</port><!--端口号--> <warSourceDirectory>src/main/webapp</warSourceDirectory>><!--这里相当于指定我们平常的webroot路径--> <tomcatWebXml>webapp/WEB-INF/web.xml</tomcatWebXml> </configuration> </plugin> </plugins> </build> </project>
如此tomcat-maven-plugin就已经配置好了,最后就是要让这个项目跑起来了,首先设置一下运行参数
分别在maven build下面配置三个
tomcat的运行环境配置main:
jar:
- -Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxNewSize=512m -XX:MaxPermSize=512m
-Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:MaxNewSize=512m -XX:MaxPermSize=512m
environment:
- name:MAVEN_OPTS
- value:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=tomcat的端口,server=y,suspend=y
name:MAVEN_OPTS
value:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=tomcat的端口,server=y,suspend=y
然后配置一个编译环境,由于maven项目同我们普通的J2EE项目不同,需要用maven命令来编译,故此需要配置一下编译环境(你要是不想对这个一个黑乎乎的dos窗口敲命令,还是配置一下)
new一个maven build,配置一下main就ok了:
最后是打包的命令,也是新建一个maven build 配置一下main:
先运行配置好的编译命令,然后运行打包命令,最后运行tomcat。就能跑起来了