Maven使用创建项目(一)
前言
这篇文章是个人基于之前的项目,对于项目的部署和打包的总结。对于项目管理和自动化部署都可以使用Maven脚本或者是使用Ant脚本使用。由于个人的原因现在才做了一些小小的总结。
Ant
引言
首先我们需要知道的,对于Ant和Maven都是项目构建工具。但是这两个工具之间还有有什么样的区别和联系呢?当我们使用eclipse创建一个项目并且运行这个项目的时候,发生了什么事情呢?在eclipse中不管是什么样的操作都是由Ant构建来做的,例如编译、运行、打包等操作都是由Ant来完成的。从这个角度上来讲Ant在eclipse的应用还是比较广泛的。
分布式
传统项目部署
下面就是介绍一下传统项目的开发过程。
1.新建一个项目,通过不同的包区分不同的模块。
2.在部署的时候,就是把这个整个项目发布到服务器Tomcat中
如图所示在传统的模式下载用户高并发访问的时候,一个服务器的话就会出现宕机的情况,在传统的项目开发中,在现在的互联网时代的情况下已经不满足要求了,所以,在很多的情况下我们需要使用负载均衡技术来实现分布式项目。那么什么是分布式项目
分布式项目部署
分布式项目部署:把一个完整的项目拆分成多个项目,把拆分后的项目分别部署到对应的服务器中的过程,就称为是分布式项目部署
使用这样的方式将三个不同的模块部署到三个不同的服务器上,在服务端使用特定的机制将这些模块关联起来。这样的话可以在一定情况下减少了服务器的负载。当然分布式的应用适用于高负载的情况下的使用。基于这样的一个问题,我们现在很多的互联网的项目都是基于分布式来构建的。那么怎么样构建分布式项目呢?
首先需要把传统的项目模块转换成一个简单的项目。例如这里我们有两个模块,Test1模块和Test2模块,那么要在模块Test1中使用模块Test2中的内容的时候,就需要使用Ant,先将Test2模块打成一个jar包然后导入到Test1模块中。当然在这个过程中我们的需求是时刻发生变化的,这个时候我们的需求发生了改变,这样的话我们需要将Test2模块重新打包构建。这也就是说在我们使用Ant打包的时候就显得很麻烦了,对于现在新型的互联网项目使用这样的方式是跟不上技术的发展,而且还比较影响开发的效率。
Maven
引言
对于Maven来说,它的缺点也是有的,但是更多的是在我们开发互联网项目的时候使用maven的有点要比缺点多。所以在这里个人认为Maven是比较优秀的一个项目构建工具。
在eclipse中是集成了Ant和Maven工具。当然本人是使用的更多的是IDEA也不反对使用eclipse工具。下面就是提供了在IDEA中自己修改集成Maven工具。
1.点击File选择settings
2.进入到settings
3.设置为对应的自己需要的Maven
到这里点击Apply设置就完成了。设置完成之后就需要了解一下Maven的设置信息这样就可以创建一个Maven项目了
Maven设置信息
简介
Maven是基于Ant的构建工具,也就是说Ant有的功能Maven有,Ant没有的功能Maven也有。这也就是为什么Maven为什么比Ant更加的优秀的原因。
运行原理
首先创建一个Maven项目之后首先需要从本地仓库中获取,本地仓库表示本地计算机中的一个文件夹,也就是上面我们配置的第三个位置。
在运行过程中,需要先从中央仓库下载到本地仓库中,然后再从本地仓库中加载对应的文件。
中央仓库:https://repo1.maven.org/maven2/
这个地方就是一个目录连接。通过这种方式所连接的就是一个jar包,而这个地址就是一个网上地址。但是对于这个网址来说它是一个国外的网址,下载速度比较慢。所以需要找到一个过内的镜像,而这个镜像是国内的镜像。一般来说我们找国内的镜像都是要找阿里的镜像,后面会说到这个问题。
在配置镜像的时候需要注意的一点,就是保证JDK和开发环境是一致的,如果不配置就会造成各种的问题。
下面就来介绍一下配置文件
配置本地文件夹
<localRepository>D:/env/java/apache-maven-3.3.9/repo</localRepository>
配置镜像
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<!--http://maven.aliyun.com/nexus/content/repositories/central/-->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror>
配置JDK
<profile>
<id>jdk-1.4</id>
<activation>
<jdk>1.4</jdk>
</activation>
<properties>
<maven.compiler.source>1.4</maven.compiler.source>
<maven.compiler.target>1.4</maven.compiler.target>
<maven.compiler.compilerVersion>1.4</maven.compiler.compilerVersion>
</properties>
这个部分为配置文件自带的部分不需要的话可以删除
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
这里展示的是setting.xml文件中的配置内容,这里加入的就是一个阿里的镜像。
创建Maven项目
1.创建Maven
点击Finish完成创建
在Maven中有一个概念就是坐标,每个Jar文件都有一个唯一坐标,通过坐标可以精确确定是那个jar。
第一个坐标是Group ID 公司名
第二个坐标是Artifact ID 项目名
第三个坐标是Version 版本号
工程目录
初始的POM文件
<?xml version="1.0" encoding="UTF-8"?>
<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.0.0</modelVersion>
<groupId>maven-test</groupId>
<artifactId>maven-test</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
到这里使用我们Maven构建工具完成了Maven工程的构建已经完成。