Maven详解(七)------ 创建Web工程以及插件原理

1、什么是 Maven 插件?

  上一篇博客我们讲了 Maven 的生命周期,我们知道 Maven 的核心是生命周期,生命周期指定了 Maven 命令执行的流程顺序。但是真正实现流程的工程是由插件来完成的。

  我们也可以说 Maven 是一个执行插件的框架,每一个任务实际上都是有插件来完成。进一步说每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码。

2、配置编译插件

  一般我们创建一个 Maven 工程,就算指定了 JDK 的版本,但是你执行 update project 操作,一般 Maven 工程会自动恢复到默认的 JDK 版本,有可能是1.4,有可能是1.5(和 Maven 版本有关)。

  那么我们如何指定其 JDK 版本呢?在 pom.xml 中添加如下代码:

<build>
	<plugins>
		<!-- 编译插件,指定 JDK 的版本为1.7 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.7</source>
  				<target>1.7</target>
  				<encoding>UTF-8</encoding>
			</configuration>
		</plugin>
	</plugins>
</build>

  下面我们来添加一个 tomcat 插件,首先我们要知道如何创建 Maven Web 工程。

3、创建 Maven Web 工程

  第一步:New maven project,注意打包方式为 war

  第二步:右击项目名,选择 properties,选择Project Facets

  第三步:将 Dynamic Web Module 取消,点击 Apply

  第四部:将 Dynamic Web Module 重新勾选,点击 下方生成的超链接

  第五步:点击超链接,修改目录结构,然后点击 OK,创建 Maven Web 工程完成

   创建的 Web 工程目录结构如下:

 4、添加 tomcat 插件

   我们在上面创建的 web 工程,可以输入  tomcat:run 来使用默认的 tomcat 插件去启动 web 工程,但是默认的插件版本有点低,我们可以手动添加插件。

<build>
	<plugins>
		<!--配置tomcat 插件  -->
	<plugin>
		<groupId>org.apache.tomcat.maven</groupId>
		<artifactId>tomcat7-maven-plugin</artifactId>
		<configuration>
			<port>8080</port><!--端口号  -->
			<path>/</path>
		</configuration>
	</plugin>
</plugins>

  执行命令是输入:tomcat7:run

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2997
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2722
来自专栏杨龙飞前端

scrollto 到指定位置

2894
来自专栏魂祭心

原 canvas绘制clock

5004
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

8368
来自专栏跟着阿笨一起玩NET

c#实现打印功能

3592
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3615
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

38010
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4355
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

5388

扫码关注云+社区