Maven简单使用

Ant

1.Ant 和 Maven 都是项目构建工具
2.在项目的运行编译打包等过程都需要依赖ant构建工具
3.现在的所有项目都是基于ant架构的

分布式

1.传统项目部署
	1.1 新建一个项目,通过不同的包区分不同的模块
	1.2 把这一个项目发布到服务器的tomcat中
2.分布式项目部署(适用于高负载的情况下)
	2.1 把一个完整的项目拆分成多个项目,把拆分后的项目分别部署到对应的服务器(tomcat)中的过程就叫做分布式项目部署
		2.1.1 把传统项目包换成一个单独的项目

Maven简介

1.基于Ant的构建工具,Ant有的功能,Maven都有,额外添加了其他功能
2.Maven的运行原理图
	2.1 本地仓库:计算机中一个文件夹,自己定义是那个文件夹
	2.2 中央仓库:网上的地址
		https://repo1.maven.org/maven2/
		先去本地仓库找,本地仓库没有就默认去中央仓库下载,
		2.2.1 下载速度慢-->配置一个国内的镜像
	2.3 保证JDK版本和开发环境一致,如果不配置(会自动下,下载速度快的版本:1.4 1.5)
3.坐标
	3.1 每一个jar文件都有一个唯一坐标,通过坐标可以精确确定是哪一个jar
	3.2 坐标组成
		3.2.1 Group ID:公司名。公司网址倒写
		3.2.2 Artifact ID:项目名
		3.2.3 Version :版本
4.pom
	4.1 英文名称:Project Object Mode
	4.2 项目对象模型
		4.2.1 把Project当做对象看待
		4.2.2 通过maven构建工具可以让对象(项目)和对象(项目)之间产生关系
5.
	http://mvnrepository.com/

新建Maven项目

1.new-->Maven Project
2.勾选复选框,表示创建一个简单的Maven项目(不应用任何模板)
3.填写项目信息
	3.1 Group ID:公司网址倒写
	3.2 Artifact ID:项目名称
	3.3 Version:版本 0.0.1-SNAPSHOT 0.0.1-快照版
	3.4 Packaging:项目的类型,最终会被打包成什么类型
		3.4.1 jar:jar包 java项目
		3.4.2 war:web项目
		3.4.3 pom:逻辑父项目
			3.4.4 只要一个项目有子项目必须是pom类型
	3.5 Name:名字
	3.6 Description:项目描述
	3.7 Parent Project 只有在建父项目的时候才用

Maven项目的目录结构(jar)

1.src/main/java 真实目录的快捷目录,写java代码
2.src/main/resources 快捷目录 
	2.1 存放配置文件的
	2.2 虽然看见resources但是里面所有配置文件最终会被编译放入到classes类路径
4.src/test/java 写测试java代码的
5.src/test/resources 测试的配置文件
6.pom.xml maven的配置文件
	6.1 当前项目所依赖的其他项目或jar或插件等。

Maven项目之间的关系

1.依赖关系
	1.1 标签<dependency>把另一个项目的jar引入到当前项目
	1.2 自动下载另一个项目所依赖的其他项目
2.继承关系
	2.1 父项目一定是 pom 类型
	2.2 子项目 jar 或 war ,如果子项目还是其他项目的父项目,子项目还是pom类型
	2.3 有继承关系后,子项目中会出现 <parent> 标签
		2.3.1 如果子项目的 <groupId> 和 <version> 与父项目相同,在项目中可以不配置
		<parent>
		    <groupId>com.ly</groupId>
		    <artifactId>Maven03</artifactId>
		    <version>0.0.1-SNAPSHOT</version>
		</parent>
	2.4 父项目的 pom.xml 中是看不到有哪些子项目的,在逻辑上具有父子项目关系
3.聚合关系
	3.1 聚合关系的前提是继承关系,父项目会把子项目包含到父项目中
	3.2 子项目的类型必须是 Maven Module 而不是 Maven Project
	3.3 新建聚合项目的子项目时,点击父项目右键新建 Maven Module
	3.4 具有聚合关系的父项目,在 pom.xml 中 <modules>
		<modules>
			<module>Maven05-child2</module>
		</modules>
	3.5 具有聚合关系的子项目,在 pom.xml 中 <parent>
		  <parent>
		    <groupId>com.ly</groupId>
		    <artifactId>Maven03</artifactId>
		    <version>0.0.1-SNAPSHOT</version>
		  </parent>
		  <artifactId>Maven05-child2</artifactId>
4.聚合项目和继承项目区别
	4.1 在语意上聚合项目父项目和子项目关系性较强
	4.2 在语意上单纯继承项目父项目和子项目关系性较弱
5.<dependencyManagement> 写在父项目
	5.1 作用:声明可能使用到的所有jar
	5.2 子项目中只需要有坐标的 <groupId> 和 <artifactId>。 <version>继承父项目
	5.3 在父项目中 <properties> 把所有版本进行统一管理
	5.4 父项目 pom.xml
		5.4.1 其中 <properties> 的子标签名称是自定义的
		5.4.2 通过 ${名字} 可以来引用标签的值
		  <properties>
		  	<spring-version>4.1.6.RELEASE</spring-version>
		  </properties>
		  
		  <dependencyManagement>
		  	<dependencies>
			  	<dependency>
			  		<groupId>org.springframework</groupId>
			    	<artifactId>spring-webmvc</artifactId>
			    	<version>${spring-version}</version>
			  	</dependency>
		  	</dependencies>
		  </dependencyManagement>
	5.5 子项目
		<dependencies>
	  		<dependency>
	  			<groupId>org.springframework</groupId>
		    	<artifactId>spring-webmvc</artifactId>
	  		</dependency>
	  	</dependencies>

创建 war 类型项目

1.war web-jar 的缩写
2.创建 maven project 时选择 packaging 为 war
3.在webapp 文件夹下新建 META-INF 和 WEB-INF/web.xml
4.在 pom.xml 中添加 java ee 相关的三个jar包
	4.1 <scope> jar 包的有效范围 provided表示编译器生效,不会打包发布到tomcat
	<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/xsd/maven-4.0.0.xsd">
	  <modelVersion>4.0.0</modelVersion>
	  <groupId>com.ly</groupId>
	  <artifactId>Maven06-war</artifactId>
	  <version>0.0.1-SNAPSHOT</version>
	  <packaging>war</packaging>
	  
	  <dependencies>
	  	<dependency>
	  		<groupId>javax.servlet</groupId>
	  		<artifactId>javax.servlet-api</artifactId>
	  		<version>3.0.1</version>
	  		<!-- 定义jar包使用范围的 -->
	  		<!-- provided 只在编译器中有效 -->
	  		<scope>provided</scope>
	  	</dependency>
	  	
	  	<dependency>
	  		<groupId>javax.servlet.jsp</groupId>
	  		<artifactId>jsp-api</artifactId>
	  		<version>2.2</version>
	  		<!-- provided 只在编译器中有效 -->
	  		<scope>provided</scope>
	  	</dependency>
	  	
	  	<dependency>
	  		<groupId>jstl</groupId>
	  		<artifactId>jstl</artifactId>
	  		<version>1.2</version>
	  	</dependency>
	  </dependencies>
	  <build>
	  	<plugins>
	  		<plugin>
	  			<groupId>org.apache.tomcat.maven</groupId>
	  			<artifactId>tomcat7-maven-plugin</artifactId>
	  			<version>2.2</version>
	  			<!-- 控制tomcat的端口号 -->
	  			<configuration>
	  				<port>80</port>
					<!-- 控制项目发布到tomcat后的名称 -->
					<!-- / 相当于吧项目发布名称为ROOT -->
					<!-- /abc  -->
	  				<path>/</path>
	  			</configuration>
	  		</plugin>
	  	</plugins>
	  </build>
	</project>
5.配置tomcat插件
	5.1 <port> tomcat端口号 可以随意换
	5.2 <path> 项目名称
6.右键项目--> run as --> maven build --> Goals 中输入 clean tomcat7:run

资源拷贝插件

1.maven默认只把 src/main/resources 里面的非java文件进行编译到classes中
2.如果希望 src/main/java 下的文件也被编辑到classes中,在pom.xml中配置
	2.1 下面内容配置在 <build> 中
	<!-- 资源拷贝插件 -->
  	<resources>
  		<resource>
  			<directory>src/main/java</directory>
  			<includes>
  				<include>**/*.xml</include>
  			</includes>
  		</resource>
  		<resource>
  			<directory>src/main/resources</directory>
  			<includes>
  				<include>**/*.xml</include>
  				<include>**/*.properties</include>
  			</includes>
  		</resource>
  	</resources>

热部署

1.修改tomcat/conf/tomcat-users.xml中添加

	<role rolename="manager-gui"/>
	<role rolename="manager-script"/>
	<user username="tomcat" password="123456" roles="manager-gui,manager-script"/>

2.在 maven 项目的 pom.xml中 tomcat 的<configuration>中配置
	2.1 当使用本地tomcat时 <port> 就无效了
	2.2 <path> 是有用的 项目发布后的名称
	
	<plugins>
  		<!-- tomcat插件 -->
  		<plugin>
  			<groupId>org.apache.tomcat.maven</groupId>
  			<artifactId>tomcat7-maven-plugin</artifactId>
  			<version>2.2</version>
  			<!-- 控制tomcat的端口号 -->
  			<configuration>
  				<port>80</port>
				<!-- 控制项目发布到tomcat后的名称 -->
				<!-- / 相当于吧项目发布名称为ROOT -->
				<!-- /abc  -->
  				<path>/abc</path>
  				<username>tomcat</username>
  				<password>123456</password>
  				<url>http://192.168.160.131:8080/manager/text</url>
  			</configuration>
  		</plugin>
  	</plugins>

3.右键项目 --> run as --> maven build(以前写过,选择第二个) --> 输入
	3.1 tomcat7:deploy	第一次发布
	3.2 tomcat7:redeploy	不是第一次发布
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值