一、创建一个项目
在eclipse菜单栏中选择“File”---“News”---“Other”菜单项,就会打开如下对话窗口,在窗口中选择“Maven”节点下“Maven Project”条目,如下图所示:
创建后的项目:
二、运行项目
运行Maven大概有三种方法:
1、把项目加载到Tomcat中去。
2、以Maven Tomcat插件的形式运行项目。
1、直接把项目加载到Tomcat中然后就可以运行
点击Finsh,然后右键Tomcat----> start启动项目,右键index.jsp----> Run AS ----> Run on Server
成功运行index.jsp页面
2、以Maven Tomcat插件的形式运行项目
Maven Tomcat插件现在主要有两个版本,tomcat-maven-plugin和tomcat 6/7-maven-plugin,使用方式基本相同。
2.1、tomcat-maven-plugin 插件官网:https://github.com/apache/tomcat-maven-plugin
2.2 、tomcat7-maven-plugin 插件官网:
http://tomcat.apache.org/maven-plugin.html
https://tomcat.apache.org/maven-plugin-trunk/index.html
2.1 、tomcat-maven-plugin 插件使用
配置
在pom.xm 加入以下xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<path>/platform</path>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
<url>http://localhost:8080/manager/html</url>
<server>tomcat7</server>
</configuration>
</plugin>
完整的pom.xml文件
<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 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.fendo.sse</groupId>
<artifactId>com</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>com Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 加入ServletAPI -->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>com</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<path>/platform</path>
<port>8080</port>
<uriEncoding>UTF-8</uriEncoding>
<url>http://localhost:8080/manager/html</url>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</build>
</project>
其中的servlet-api他的scope参数要设置为provided不然会出现jar包依赖冲突。
scope的其他参数如下:
○ compile
默认的scope,表示 dependency 都可以在生命周期中使用。而且,这些dependencies 会传递到依赖的项目中。适用于所有阶段,会随着项目一起发布
○ provided
跟compile相似,但是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。这个scope 只能作用在编译和测试时,同时没有传递性。
○ runtime
表示dependency不作用在编译时,但会作用在运行和测试时,如JDBC驱动,适用运行和测试阶段。
○ test
表示dependency作用在测试时,不作用在运行时。 只在测试时使用,用于编译和运行测试代码。不会随项目发布。
○ system
跟provided 相似,但是在系统中要以外部JAR包的形式提供,maven不会在repository查找它。
configuration参数说明:
path ----是访问应用的路径 是运行时路径——http://host:port/platform
port ----是tomcat 的端口号
uriEncoding ----URL按UTF-8进行编码,这样就解决了中文参数乱码。
Server ----指定tomcat名称,需要配置maven的settings.xml文件。
运行项目:
右键项目-->Run AS --> Run Configurations 以: tomcat7:run 运行项目
几个常用的Goal
命令 | 描述 |
tomcat:deploy | 部署一个web war包 |
tomcat:reload | 重新加载web war包 |
tomcat:start | 启动tomcat |
tomcat:stop | 停止tomcat |
tomcat:undeploy | 停止一个war包 |
tomcat:run | 启动嵌入式tomcat ,并运行当前项目 |
点击Run
访问: http://localhost:8080/com/
2.2 、tomcat7-maven-plugin 插件
在pom.xml中加入以下代码
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url> <!-- tomcat管理路径 -->
<server>Tomcat7</server> <!-- 与settings.xml文件中Server的id相同 -->
<path>/web</path> <!-- 应用的部署位置 -->
</configuration>
</plugin>
运行项目:
右键项目-->Run AS --> Run Configurations 以: tomcat7:run 运行项目
点击Run
访问: http://localhost:8080/web/