目录
①pom(Project Object Model 项目对象模型)
一、Maven 简介
1.Maven概述
Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。
2.Maven 中的概念
①pom(Project Object Model 项目对象模型)
Maven 管理的项目的根目录下都有一个 pom.xml 文件,pom.xml 文件指示 Maven 如何工作。在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、项目依赖的 jar、插件、编译选项等。一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构件。
②坐标
Maven 给每个 jar 定义了唯一的标志,这个在 Maven 中叫做项目的坐标,通过这个坐标可以找到你需要用到的任何版本的 jar 包。groupId、artifactId、packaging、version 的组合被称为项目的坐标,它们形成了项目的唯一标识,Maven 通过坐标来精确定位构件。其中 groupId、artifactId、version 是必须的,且这三项的值必须唯一,packaging 是可选的(默认为 jar)。
③仓库
中央仓库全球共享,先将 jar 从中央仓库下载到本地仓库,然后在项目中引用本地仓库的 jar
2.Maven 开发环境搭建
前提 :①安装 jdk②Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅
①下载 Maven 服务器
Maven 官网:http:// maven .apache. org ,点击 download 进行下载
②安装,配置 Maven
点击下载二进制的 apache-maven -3.6.0-bin.zip 进行解压,”然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version
查看版本如下图:
和上图结果一样表示 Maven 环境配置成功
③配置本地仓库地址
接下来根据情况在本地磁盘中建立通过 Maven 下载后 jar 文件所存储的文件夹,一般我们称为”仓库(repository)”最终是如何将下载的 jar 文件存储到我们指定的仓库中呢?需要在 Maven 的服务器解压的文件中找到 conf 文件夹下的 settings.xml 文件进行修改
如下图所示:
配置阿里云 Maven 镜像仓库,下载速度更快:
④idea 中设置 Maven
⑤创建 Maven 工程
Build system 中选择 Maven
3.pom.xml 配置
pom.xml 文件基本结构
①项目基本信息
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
②指定编译时使用的 jdk 版本
<properties>
<maven.compiler.source>1.8</maven.compiler.source> <!-- 设置 Java 源代码兼容性 -->
<maven.compiler.target>1.8</maven.compiler.target> <!-- 设置编译的目标 JVM 版本 -->
</properties>
③依赖信息
<dependencies>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
</dependencies>
Maven 仓库官网(http://mvnrepository.com/)
在此官网就可以下载自己所需开发 jar 包,继续点击链接打开如下:
4.Maven 命令
Maven 常用命令
① clean 删除编译的 target,就是清除之前编译打包的文件② compile 编译命令,对源代码进行编译③ package 打包,就是将编译后的许多class文件,打包成一个文件④ install 安装 将打包后的文件安装到本地仓库
5.打包 javaSE 项目案例
聊天室项目——服务器端
添加打包依赖
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<!--给 jar 包起的别名-->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<!--添加项目中主类-->
<mainClass>com.ffyc.chatrom.client.frame.Run</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行 maven 命令
生成 jar
复制出长的jar 包到桌面,修改名字为server.jar
补充:
package和install两个命令的区别:
例如要把工具类都放在一个项目中来方便使用,放置好之后点击install安装命令,这样这个工具类就被安装到maven仓库中了
安装之后会生成该工具类相应的坐标
这样以后哪个项目需要使用这个工具类就把相应的工具类坐标加上就可以了