maven的介绍与使用
maven的简单介绍
Maven是Apache下的项目管理工具,它由纯Java语言开发,可以帮助我们更方便的管理和构建Java项目。
maven的优点
jar包管理:
从Maven中央仓库获取标准的规范的jar包以及相关依赖的jar包,避免自己下载到错误的jar包;
本地仓库统一管理jar包,使jar包与项目分离,减轻项目体积。
maven是跨平台的可以在window、linux上使用。
清晰的项目结构;
多工程开发,将模块拆分成若干工程,利于团队协作开发。
一键构建项目:使用命令可以对项目进行一键构建。
maven的安装
maven官网:Maven – Welcome to Apache Maven
maven仓库:https://mvnrepository.com/
安装步骤:
1、安装jdk
2、从官网中下载对应的版本
3、解压安装,然后配置环境变量,需要配置MAVEN_HOME,并且将bin目录添加到path路径下'
4、在命令行中输入mvn -v,看到版本信息表示安装成功
maven的基本常识
maven如何获取jar包
maven通过坐标的方式来获取 jar包,坐标组成为:公司/组织(groupId)+项目名(artifactId)+版本(version)组成,可以从互联网,本地等多种仓库源获取jar包
maven仓库的分类
本地仓库:本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings.xml配置文件。
设置本地仓库:
<localRepository>C:\repmvn</localRepository>
私有仓库:私有仓库可以理解为自己公司的仓库,也叫Nexus私服
中央仓库:中央仓库即maven默认下载的仓库地址,是maven维护的
maven的常用仓库
由于网络访问的原因,在国内如果需要下载国外jar包的时候会受限,因此一般在使用过程中需要修
改maven的配置文件,将下载jar包的仓库地址修改为国内的源,常用的是阿里云的mvn仓库,修改
配置如下:
maven目录/conf/setting.xml
设置镜像:
<mirror>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo2.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
设置默认jdk版本:
<!--修改默认jdk编译版本,默认jdk1.5-->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
maven常用命令
- clean:清理编译后的目录
- compile:编译,只编译main目录,不编译test中的代码
- test-compile:编译test目录下的代码
- test:运行test中的代码
- package:打包,将项目打包成jar包或者war包
- install:发布项目到本地仓库,用在打jar包上,打成的jar包可以被其他项目使用
- deploy:打包后将其安装到pom文件中配置的远程仓库
- site:生成站点目录
使用
添加依赖
<dependencies>·
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
配置xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="cn.tulingxueyuan.dao.UserOrcDao" id="userDao" ></bean>
<bean class="cn.service.UserService" id="userService">
<property name="dao" ref="userDao"></property>
</bean>
</beans>
新建测试类
public class TestIoC {
@Test
public void test01(){
ApplicationContext ioc=new ClassPathXmlApplicationContext("spring.xml");
User bean = ioc.getBean(User.class);
System.out.println(bean);
}
}