- 下载jar包
- 将下载的jar包拷贝到项目中(WEB-INF/lib)
- 选择jar文件-> 右键-> Add as Livrary
传统方式存在问题:步骤多、不同的项目中需要相同jar包时,需要分别存储、在不同环境下可能因为jar文件版本不同导致项目无法运行
1.1.3 Maven简介IDE提供了一键构建项目的功能,但我们无法干预具体项目生命周期过程(清理缓存、校验、编译、测试、打包、安装、部署),不同的IDE项目结构不同,导致移植性差
Maven是一个
基于项目对象模型(POM)用于进行项目的依赖管理、生命周期管理的
工具软件
核心功能
- 项目的依赖管理
- 项目生命周期管理
- 聚合工程
1.2.2 Maven安装网址:https://maven.apache.org/download.cgi
开箱即用,无需安装
- 解压压缩包
- 解压后的目录结构
bin 存放指令文件
boot 包含类加载框架jar
conf 包含maven核心配置文件setting.xml
lib 包含maven运行所需的jar文件 - 配置环境变量
path中添加解压后的bin目录
maven的conf目录中的
setting.xml
,是maven的核心配置文件
仓库 |
---|
- 本地仓库配置
本地仓库中会存储项目依赖的文件
在setting.xml中添加如下标签,可配置本地仓库路径,如果不配置默认存储在C:\Users\username\.m2\repository
<localRepository>D:/local/repolocalRepository>
- 远程仓库及其配置
中央仓库
Maven中央仓库是由maven社区提供的仓库,无需配置,maven中内置了中央仓库的地址
中央仓库地址:http://repo.maven.apache.org/maven2/
公共仓库
除中央仓库外,还有其他远程仓库。比如aliyun仓库(http://maven.aliyun.com/nexus/content/groups/public/)
中央仓库在国外,一般选择国内的公共仓库代替,下面的示例为在setting.xml中配置阿里云仓库
<mirrors>
<mirror>
<id>aliyunid>
<mirrorOf>centralmirrorOf>
<name>Nexus aliyunname>
<url>http://maven.aliyun.com/nexus/content/groups/publicurl>
mirror>
mirrors>
私服
公司可配置一个不对外开放的仓库 可以用Nexus搭建
- JDK配置
限定maven项目默认的jdk版本
<profiles>
<profile>
profile>
profiles>
<activeProfiles>
<activeProfile>alwaysActiveProfileactiveProfile>
activeProfiles>
1.3 Maven的项目结构
1.3.1 Maven的项目结构
projectName(项目名称)
--src
--main(存放项目源文件)
--java
--resources
--text(存放项目单元测试代码)
--pom.xml
1.3.2 pom.xml
POM(Project Object Model)maven可以更具pom文件的配置对此项目进行依赖管理
<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.0modelVersion>
<groupId>com.jdsmgroupId>
<artifact>personProartifact>
<version>1.0.0version>
<dependencies>
<dependency>
<groupId>com.google.code.gsongroupId>
<artifactId>gsonartifactId>
<version>2.9.0version>
<scope>testscope>
dependency>
dependencies>
project>
1.4 依赖管理
1.5 项目生命周期管理
- 在pom.xml中配置依赖
- maven读取项目中的pom.xml
- 检查本地仓库中是否有所依赖的jar,有则直接引入项目中
- 如果本地仓库没有项目所需依赖,则连接远程仓库进行下载(需要有网络)
1.6 IDEA使用Maven 1.6.1 IDEA关联Maven
- 清理缓冲 mvn clean
- 检查 mvn check
- 编译 mvn compile
- 测试 mvn test
- 打包 mvn package
- 安装 将所到的包安装到本地maven目录 mvn install
- 部署 将项目生产的包发布到外部服务器仓库,以供其他开发人员共享 mvn deploy
File->Settings 中关联当前项目Maven,File->OthersSettings 是为以后所有项目关联Maven |
---|
说明:IDEA本身集成了Maven,考虑到IDEA和Maven版本的兼容性,idea不建议配置比默认版本更新的版本,建议使用Idea自带的Maven |
Java项目 |
---|
Web项目 |
创建web项目同创建java项目,在java项目的基础上增加WEB-INF->web.xml |
在pom.xml中设置打包方式为war |
配置web组件 |
部署web项目 |
1.7.1 私服架构企业内部搭建的Maven仓库
- 开发者需要依赖直接从私服下载
- 私服可以实现企业内部依赖的共享,当企业开发了一个通用插件(jar),可以发布到私服,其他开发者就可以共享此插件
有无私服对比 |
---|
Maven 仓库管理软件可以搭建私服,如:Apache archiva,Artifactory,Sonatype Nexnus。这里使用Sonatype Nexnus搭建
- 官网地址:https://www.sonatype.com/
- 下载地址:https://www.sonatype.com/products/nexus-repository?topnav=true
- 下载nexus-2.x-bundle.zip 解压即可
nexus安装目录 |
---|
点击进入nexus-2.*\bin 目录,用管理员身份打开cmd执行命 |
1.nexus install 2.nexus uninstall 3.nexus statrt 4.nexus stop |
1.7.4 私服仓库列表登录私服管理器地址: http://localhost:8081/nexus
账号:admin
密码:admin123
仓库类型 | 描述 |
---|---|
group | 包含多个仓库,通过group地址可以从包含的多个仓库中找构建 |
host | 私服服务器 本地的仓库 |
proxy | 代理仓库 如aliyun仓库 |
仓库名 | 描述 |
---|---|
Releases | 存放项目的稳定发布版本 |
Snapshots | 临时发布版本 |
3rd party | 存放中央仓库没有,可以上传私服的该库中 |
1.7.6 Maven配置私服为达到当私服仓库没有时去其他仓库回去依赖jar目的,所以需要配置私服仓库组
+将私服Releases配置第一位
+将私服Snapshots配置第二位
+将公共仓库Central配置第三位
在maven中配置私服,便可以从私服上获取jar包及其依赖
setting.xml中配置如下 |
---|
在settings.xml的activeProfiles中激活对应的profile->id 中的私服ID |
---|
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)