maven tomcat插件_Maven技术01

1.什么是 maven

Maven 使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建, 报告和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的 缺省构建规则有较高的可重用性
所以常常用两三行 Maven 构建脚本就可以构建简单的项 目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 
项目发布时使用 Maven,而且 公司项目采用 Maven 的比例在持续增长。 

2.Maven的使用

1.指定maven使用的版本

facba587cc3a1bec937064e09324b3aa.png

2.指定settings文件

156208e2b85cd924ee6bb781d3078da7.png

3.什么是Maven 仓库

Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服
务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存
储路径。得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完全
相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位
置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。

远程仓库:

远程仓库指通过各种协议如 file://和 http://访问的其它类型的仓库。这些仓库可能是第
三方搭建的真实的远程仓库,用来提供他们的构件下载(例如 repo.maven.apache.org 和
uk.maven.org 是 Maven 的中央仓库)。其它“远程”仓库可能是你的公司拥有的建立在文件
或 HTTP 服务器上的内部仓库,用来在开发团队间共享私有构件和管理发布的。

本地仓库:

本地仓库指本机的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件。 

本地仓库配置

本地仓库是开发者本地电脑中的一个目录,用于缓存从远程仓库下载的构件。

在settings文件中进行配置

<localRepository>E:mavenmavenRepository

镜像仓库配置

如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为 A 是 B 的一个镜像。例 如:在国内直接连接中央仓库下载依赖,由于一些特殊原因下载速度非常慢。这时,我们可 以使用阿里云提供的镜像 http://maven.aliyun.com/nexus/content/groups/public/来替换中央仓 库 http://repol.maven.org/maven2/。

在settings文件中进行配置

<mirror>
	

4.Maven工程

maven 的工程类型

POM 工程是逻辑工程。用在父级工程或聚合工程中。用来做 jar 包的版本控制。
JAR 工程 将会打包成 jar 用作 jar 包使用。即常见的本地工程 - Java Project。
WAR 工程 将会打包成 war,发布在服务器上的工程。如网站或服务。即常见的网络工程 - Dynamic
Web Project。war 工程默认没有 WEB-INF 目录及 web.xml 配置文件,IDE 通常会显示工程
错误,提供完整工程结构可以解决。

maven工程的创建

New--> other -->Maven Project

ccac5eadf1bdd047caa9d0d27fd827a6.png
Group Id 公司域名倒写
Artifact Id 项目名
Version 版本名
Packaging 项目类型
   Jar java 项目
   War : web 项目
   POM: 父项目.如果项目有子项目,项目必须是 pom
Name : 自定义名称,内容任意
Description: 描述.详细描述.
Parent Project: 如果当前项目有父项目时填写

Maven 项目结构

05151d95e541a4fa6009d8058a057402.png
src/main/java 这个目录下储存 java 源代码
src/main/resources 储存主要的资源文件。比如spring的xml配置文件和log4j的properties
文件。
src/test/java 储存测试用的类,比如 JUNIT 的测试一般就放在这个目录下面
src/test/resources 储存测试用的资源文件
src 包含了项目所有的源代码和资源文件,以及其他项目相关的文件。
target 编译后内容放置的文件夹
pom.xml 是 Maven 的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等

工程关系

①依赖 即 A 工程开发或运行过程中需要 B 工程提供支持,则代表 A 工程依赖 B 工程。

<dependencies>
 

38d398d8212cb16e346d239742235e40.png

②继承 如果 A 工程继承 B 工程,则代表 A 工程默认依赖 B 工程依赖的所有资源,且可以应用 B 工程中定义的所有资源信息。被继承的工程(B 工程)只能是 POM 工程。

78cb3694eaef8108b2ee76d257261b4e.png

统一版本管理

在pom工程pom.xml中配置

<junit-version>4.2

在jar工程中配置

<parent>
    

③聚合 当我们开发的工程拥有 2 个以上模块的时候,每个模块都是一个独立的功能集合。比如 某大学系统中拥有搜索平台,学习平台,考试平台等。开发的时候每个平台都可以独立编译, 测试,运行。这个时候我们就需要一个聚合工程。 在创建聚合工程的过程中,总的工程必须是一个 POM 工程(Maven Project),各子模 块可以是任意类型模块(Maven Module)。所有聚合工程和聚合模块必须处于同一个组 (groupId)中,且聚合工程可以嵌套。

6fa0a41dea621db1f73c2b46b10e2131.png

1c239af51aca92c79efa717e960cad62.png

Maven 中的常见插件配置

1.编译器插件

pom.xml文件配置(局部对当前项目有效)

<build>
	

settings.xml 文件中配置全局编译器插件

<profile>
		

2.Tomcat 管理插件

本地应用

运行命令(tomcat7:run)

<build>
	

远程热部署

运行命令(第一次 tomcat7:depoly 第二次 tomcat7:redepoly )

远程热部署是指,在 Tomcat 容器运行过程中,动态实现 war 工程的部署,重新部署功能。

2f3ae324b46f2d46073badbc71eb433d.png

方式三:在linux系统中tomcat目录下conf目录下tomcat-users.xml文件中配置

<role 

在pom.xml中配置

<build>
	

方式四:只用文件上传工具把war包直接上传到linux中tomcat目录下wapps下root中

3.资源拷贝插件

Maven 在打包时默认只将 src/main/resources 里的配置文件拷贝到项目中并做打包处理,而非 resource 目录下的配置文件在打包时不会添加到项目中

<resources>
	

Maven 常用命令

install 本地安装, 包含编译,打包,安装到本地仓库 编译 - javac 打包 - jar, 将 java 代码打包
为 jar 文件 安装到本地仓库 - 将打包的 jar 文件,保存到本地仓库目录中。 
clean 清除已编译信息。 删除工程中的 target 目录。 
compile 只编译。 javac 命令 
deploy 部署。 常见于结合私服使用的命令。 相当于是 install+上传 jar 到私服。 包含编译,打包,
安装到本地仓库,上传到私服仓库。
package 打包。 包含编译,打包两个功能。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值