maven(项目管理工具)

概述

简单说:maven是一款软件项目管理工具,专门用来管理项目的
企业开发:团队开发完的项目 都要交给maven管理

maven如何去管理项目(作用)

1 maven会统一管理项目jar包
			 day11--druid
			 day11--配置文件(pom.xml)---maven--cangku--druid
	pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。
	
2 maven为项目提供了大量的命令功能
			提供了项目生命周期管理的命令:编译、测试、打包、部署、运行。



3 maven对工程分模块构建,提高开发效率(待续...)

maven的仓库

1 本地仓库

工程第一次从本地仓库没找到jar包会从远程中央仓库(互联网)去下载jar 包,将jar包存在本地仓库
第二次不需要从远程中央仓库去下载,先从本地仓库找,如果找不到才会去远程仓库找。
PS:本地仓库
课程中:我给你们准备好了
工作中:企业给你准备好了

2 远程中央仓库

就是远程仓库,仓库中jar由专业团队(maven团队)统一维护。
中央仓库的地址:http://repo1.maven.org/maven2/

3 远程私服仓库(公司内部使用)

公司内部自己架设的一台私服,用来放本公司自主研发的jar包功能
自己公司内部下载使用

maven的坐标

web核心 12-maven

为了能够准确的找到仓库中的jar包,maven需要对这些jar包做唯一标识
这些唯一标识就叫做坐标,方便我们在pom文件中快速找到仓库的jar包

Pom.xml 坐标的定义元素如下:

groupId:定义当前在Maven项目中的名称
artifactId:定义项目模块
version:定义当前项目的当前版本
例如:要引入junit的jar包,
只需要在pom.xml配置文件中定义这些坐标元素,就可以将仓库junit的jar包引入到自己的项目中

扩展:以后自己编写的项目,也会放在仓库中

要放在仓库中:也要给自己的项目定义一个坐标

maven的安装

web核心 12-maven
将maven包解压即安装成功
目录:
bin maven的二进制命令
boot maven加载第三方jar包的支撑
conf maven的配置文件(用)
lib maven运行时候需要的jar包

注意事项:
1 需要在配置文件中告诉maven本地仓库的位置
      settings.xml: 53行的位置
	 <localRepository>仓库在硬盘的地址</localRepository>	

2 环境变量的配置:
     1需要配置环境变量MAVEN_HOME
			MAVEN_HOME=E:\JAVA_IDE\maven\apache-maven-3.3.9;
     2将MAVEN_HOME添加到path中
			%MAVEN_HOME%\bin;
测试:mvn -version

web核心 12-maven

maven集成idea

web核心 12-maven

1 配置maven的安装路径
2 配置maven配置文件路径
3 配置本地仓库的路径   
D:\maven\apache-maven-3.3.9\conf  
在settings.xml 文件中第53行位置修改设置成如下图所示 :
4 配置所有资源都优先从本地仓库查找,没有再去网络
		maven
		---runner
		     VM Options=-DarchetypeCatalog=internal
5  测试Maven安装成功		 
打开cmd本地控制台,输入mvn -version  

web核心 12-maven

maven构建项目

maven管理普通项目
maven管理javaweb项目并发布访问

IDEA指定本地Maven
web核心 12-maven
maven管理javaweb项目并发布访问
web核心 12-maven

web核心 12-maven

web核心 12-maven

maven统一命令

编译complie、测试test、打包package(.war包)

maven的依赖管理

插件(clear,jdk编译版本)
导入坐标依赖(servlet 网站坐标介绍)坐标查询:http://mvnrepository.com/
依赖范围
<build>
<!‐‐maven插件‐‐>
<plugins>
<!‐‐jdk编译插件‐‐>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven‐compiler‐plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf‐8</encoding>
</configuration>
</plugin>
</plugins>
</build>

导入junit坐标依赖

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

进行单元测试

import org.junit.Test;
public class DemoTest {
@Test
public void test1(){
System.out.println("test running...");
}
}

web核心 12-maven

compile 编译、测试、运行,A在编译时依赖B,并且在测试和运行时也依赖
例如:struts-core、spring-beans。打到war包或jar包

provided 编译、和测试有效,A在编译和测试时需要B
例如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)
不会打到war

runtime:测试、运行有效
例如:jdbc驱动包 ,在开发代码中针对java的jdbc接口开发,编译不用
在运行和测试时需要通过jdbc驱动包(mysql驱动)连接数据库,需要的
会打到war

test:只是测试有效,只在单元测试类中用
例如:junit
不会打到war

按照依赖强度,由强到弱来排序:(理解)
compile> provided> runtime> test

web核心 12-maven

相关文章:

  • 2021-04-21
  • 2022-12-23
  • 2021-10-30
  • 2021-08-01
  • 2021-12-19
猜你喜欢
  • 2021-11-14
  • 2021-04-27
  • 2021-07-28
  • 2021-11-28
  • 2021-11-26
  • 2022-12-23
  • 2021-12-05
相关资源
相似解决方案