运行项目
运行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/