Maven安装与使用

xiaoxiao2021-02-28  41

Windows配置Maven环境

1、访问http://maven.apache.org/download.html 下载最新版本

2、解压到maven工作目录,比如d盘根目录

3、配置maven环境变量

    新建系统变量:MAVEN_HOME = D:\apache-maven-3.0.2 

   在path系统变量中添加:%MAVEN_HOME%\bin 

4、 打开cmd敲 mvn -version,回车。

5、修改D:\apache-maven-3.0.2\conf\settings.xml文

    添加标签<localRepository>E:\maven-jar</localRepository>,表示设置工程下载的jar存放的目录。

    添加<mirrors>标签,表示远程仓库(下载jar的远程仓库)的优先级,越靠前优先级越高。

    <mirrors>    <!-- 阿里云仓库 -->      <mirror>           <id>alimaven</id>           <mirrorOf>central</mirrorOf>           <name>aliyun maven</name>            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>         </mirror>       <!-- 中央仓库1 -->        <mirror>            <id>repo1</id>            <mirrorOf>central</mirrorOf>            <name>Human Readable Name for this Mirror.</name>            <url>http://repo1.maven.org/maven2/</url>         </mirror>        <!-- 中央仓库2 -->        <mirror>           <id>repo2</id>           <mirrorOf>central</mirrorOf>            <name>Human Readable Name for this Mirror.</name>           <url>http://repo2.maven.org/maven2/</url>        </mirror>

</mirrors>

    添加标签<profile>表示,当我们每次通过Maven Update Project时,Eclipse会默认将项目还原到JDK1.5的编译版本。通过下面这个配置,可以自定义 Update Project后,Eclipse还原的JDK版本

<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> 

Eclipse安装Maven插件

1、打开Eclipse

2、点击Window,点击Preferences,找到Maven选项,点击Installation

3、如上图,右边点击Add,添加刚刚安装的Maven目录。

4、还未完成,还需要点击左边的User Interface,修改User Settings配置,选择安装过程中修改的settings.xml文件,如果不修改的话,Eclipse会默认下载依赖的jar到C盘。

Eclipse新建Maven项目

1、左上角点击File,然后点击New,选择Project,搜索Maven会找到对应工程,如下图:

2、一直点击Next,会出现如下图选项,这里做简要介绍,一般普通的Java 项目则选择quickstatrt类型,如果是Java web 项目则选择下面的webapp类型。

3、输入项目名称以及GroupId和ArtifactId等信息后,新建Maven工程成功。

Maven项目pom.xml参数说明

1、双击新建Maven工程的pom.xml文件,注意从Overview切换到pom.xml视图显示。

2、大概配置如下图所示。

modelVersion标签:指定当前Maven模型的版本号。

groupId标签:Maven项目所属的项目组名。

artifactId标签:Maven项目的项目名称。

version标签:Maven项目的版本号。

注:以上groupId、artifactId、version三个标签,相当于空间坐标系中的x,y,z坐标,它能唯一确定Maven仓库中的一个项目。(这里有个经验groupId中的每个.代表一级目录,如com.cattsoft在文件系统中表示com/cattsoft/,而artifactId则只能表示一级目录,如xdong.dd在文件系统中表示/xdong.dd/,version也仅表示一级目录。)

properties标签:自定义某些变量,如上面例子中的项目编码格式,还可以自定义版本号,以便于管理版本,如spring框架的版本号,<spring.version></spring.version>,在依赖的过程中需要填写version标签值的时候可以使用${spring.version}表示properties中的<spring.version></spring.version>值。

dependencies标签:依赖标签的父标签。

dependency标签:真正实现jar包的依赖,也就是等价于Java项目lib文件夹中jar包 add build path的功能。

注:这里如果新手不知道如何找到正确的dependency依赖,可以手动上http://mvnrepository.com/进行搜索。

Maven项目打包

Maven项目打包其实说到底就是通过pom.xml文件中的<build>标签结合maven命令完成的。

1、Maven常用命令介绍:

mvn -version:maven安装版本。

mvn clean:清理Maven项目中target文件夹中的文件。

mvn install:将Maven项目打包并上传到本地仓库中,以供其他Maven项目依赖。

mvn package:将Maven项目进行打包。配合<build>标签中的<plugins>-<plugin>标签。下面将会进行详细介绍。

注:这些命令的使用都必须在maven项目的根目录,也就是包含pom.xml文件的目录进行运行。如下图:

可以在该目录中的空白处进行鼠标右键,选择 在此处打开powershell命令   选项,然后再进行上面命令的输入。

2、maven项目打包的两种方式。

这里主要介绍两种常用的插件。

    <build>     <plugins>                 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.cattsoft.Main</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

这个build标签可以直接放到pom.xml中使用。

从plugins标签中的plugin按照顺序进行功能介绍。

第一个plugin主要功能:将依赖的jar包copy至当前工程目录下的lib目录中,并将该项目的源码单独打包成一个jar包,

第二个plugin主要功能:将依赖的jar包同工程的源码一起进行打包,打包成一个jar包,这中方式方便执行脚本的编写如:start.sh启动脚本,就不需要写一堆的lib依赖。

最后,讲解几个Maven使用中的细节和要点:

1、在进行Maven项目开发的过程中,可能会经常性的<dependency>依赖各类包,这种时候可能会出现一种错误---Eclipse中的Maven项目没有强制更新,就是依赖没有错误,但是项目就是报错,这个时候可以通过如下的方式解决。

选中项目,右键,选中Maven,选中Update Project,会出现下图。

一定要勾选上面标记部分的选项,然后点击OK即可。

2、可能开发工程中,什么东西都没动,Eclipse中,Maven项目直接变成了普通的Java项目,查看Build Path中的Library配置,也没有发现Maven Dependencies的依赖。

这个时候不要着急,先将该项目从工作空间去掉,然后再鼠标右键,点击Import,如下图所示:

3、我们在真正的开发过程中,可能会经常性的ALT+F5我们的Maven项目,这个时候我们常常会发现,项目设置好的JDK已经Java Compiler版本都会改变。原因是因为,对Maven项目Update后,Maven3.0版本的项目都会按照Settings配置被初始化,而Setting默认的JDK和Java Complier 就是1.5,因此每次更新后,都会恢复成默认版本。

解决办法:找到Maven Settings,添加如下配置即可。

<profile>                    <id>jdk-1.8</id>                    <activation>                        <activeByDefault>true</activeByDefault>                        <jdk>1.8</jdk>                    </activation>                    <properties>                        <maven.compiler.source>1.7</maven.compiler.source>                        <maven.compiler.target>1.7</maven.compiler.target>                        <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>                    </properties>            </profile> 

4、使用Maven进行项目依赖时,经常会出现Jar包重复依赖的问题,比如Spring框架中会使用到log4j,而我们并不知道,因为它是隐形依赖的,这个时候,我们更多的时候会直接通过项目的Maven Dependces进行查看,见下图

但是更多的时候,我们并不能清晰的看到他们的依赖关系,这样我们可以通过pom.xml配置文件查看,使用Dependency Hierarchy选项进行查看,我们能够清晰的查看到各个jar所依赖的包,这样就可以避免重复引入的问题:

转载请注明原文地址: https://www.6miu.com/read-2621169.html

最新回复(0)