Maven学习笔记一Maven的介绍和Javase项目的创建

来源:互联网 发布:精准定位软件 编辑:程序博客网 时间:2024/06/01 20:26

Maven

介绍:

··············Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、依赖管理和项目信息管理。 

优点:

自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。
是跨平台的,无论是Windows上,还是LinuxMac上,都使用相同命令。
能够帮助我们标准化构建过程。

依赖管理工具:提供中央仓库,自动下载构件。通过一组坐标,能够找到任何一个java类库。
项目信息管理工具:管理原本分散的项目信息,包括项目描述、版本控制系统地址、缺陷管理系统地址、许可证、开发者列表等。
对项目目录结构、测试用例命名等都有既定规则。
原理:


1 因为jar包下载太过分散导致开发周期延长 maven提供了中央仓库 将所有的jar 包聚合在一起
2 中央仓库 计算网路资源有限,各地出现了各自的私服,降低中心服务压力,开发就近原则获取最近的私服 下载 jar 包
3 本地项目开发如果需要下载jar包,必须依赖maven软件, maven软件需要配置私服的地址也就是说告诉maven 去哪里找所需要的jar包, 然后需要配置缓存的jar 包位置

Maven下载:http://maven.apache.org/
Maven仓库:

Maven仓库就是放置所有JAR文件(WARZIPPOM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR

Maven仓库分类:


Maven中央仓库网址:http://repo1.maven.org/

私服:一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。

私服优点:节省自己的外网带宽、加速Maven构建、部署第三方构件、提高稳定性,增强控制、降低中央仓库的负荷。

私服网址:http://maven.aliyun.com/nexus/

Maven 的使用

1)下载 配置相关文件

1直接将E:\MAVEN\apache-maven-3.0.4_localtest 添加到path即可;

2然后找到MAVEN\apache-maven-3.0.4_localtest\conf 下的settings.xml文件

将<localRepository>此处将本地仓库地址写入</localRepository>

如图:

3修改仓库地址   将maven地址链接到 阿里云
(镜像地址、私服地址)
<mirror>
<id>随便给</id>
<name>随便给</name>
<url>http://maven.aliyun.com/nexus/</url>
        <mirrorOf>central (表示用私服替代中心仓库)</mirrorOf>
</mirror>

如图:

4用dos命令输入 mvn -v 测试Maven是否配置成功

如图: 如果出现 一下显示说明配置成功


2)如何在都是下使用Maven

1(创建Javase) 2(创建Javaee)

1创建Javase:比如说要在E盘的deploy下创建javase项目

Dos 命令进入要创建Maven项目的目录:pushd + 目录名

然后 输入mvn archetype:generate 创建项目 如图:

2然后会出现选项如图所示:

出现 1-10的选项

1) 包含简单项目
2) j2ee
3) maven插件开发
7) 快速开始javase开发
10) Javaee选10 Java项目默认选1

也就是说Javase一般选7 Javaee一般选10

由于是先介绍Javase所以选7

如图:

然后这里用一张图说明一下选项参数的含义:


3如果如图出现BUILD SUCCESS 表示创建成功 那么接下来就是要编译:

刚才成功创建了helloword项目如果要编译那么就要进入该项目的文件然后使用 mvn compile 进行编译


如图:

如果出现如图所示则表示编译成功

4然后将其打包mvn package : 依据项目生成 jar 文件 

如果出现上图所示成功标志说明打包成功

5运行jar包: Java -jar target/helloword-1.0-SNAPSHOT.jar

或发现报错 如图:

那是因为没有指定那个是main方法

可以用java -cp  target/target/helloword-1.0-SNAPSHOT.jar cn.easytop.App
指定主类是在target/helloword-1.0-SNAPSHOT.jar 这个jar包中 而且还要指定主类名

正确指定后如图:

发现程序成功运行,大功告成!