本文最后更新于 2024-03-23,欢迎来到我的Blog! https://www.zpeng.site/

Maven

01.简介

Maven是一个项目构建及管理工具,开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置, Maven 使用了一个标准的目录结构在不同开发工具中也能实现项目结构的统一。Maven提供了清理,编译,测试,安装,打包,发布等命令可以让我们更加方便的去构建项目,同时采用pom.xml来导入依赖,可以自动下载jar,以及其所依赖jar,无需手动下载,拷贝jar到项目中,大大解放了程序员的劳动力。

官网:https://maven.apache.org/

02.下载与安装

下载:https://maven.apache.org/download.cgi

安装:windows下载压缩包直接解压即可

03.配置

1:环境变量-系统变量-新建MAVEN_HOME,变量值为maven文件夹路径,然后点击“确定”按钮。

2:PATH,点击“编辑”,弹出面板点击“新建”,添加%MAVEN_HOME%\bin,点击“确定”保存。

3:验证,测试环境变量是否设置成功,输入cmd,打开命令行,在命令行中输入mvn -v。

04.常用命令

mvn archetype:generate 创建Maven项目

mvn compile 编译源代码

mvn deploy 发布项目

mvn test-compile 编译测试源代码

mvn test 运行应用程序中的单元测试

mvn site 生成项目相关信息的网站

mvn clean 清除项目目录中的生成结果

mvn package 根据项目生成的jar

mvn install 在本地Repository中安装jar

mvn eclipse:eclipse 生成eclipse项目文件

mvnjetty:run 启动jetty服务

mvntomcat:run 启动tomcat服务

mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试类

05.找jar包

Maven仓库:https://mvnrepository.com/

找到自己所需要的版本,点进去就可以看到导入maven项目的jar坐标

06.Settings文件

概览

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 <localRepository/>
  <interactiveMode/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles/>
  <activeProfiles/>
</settings>

6.1<localRepository/>

localRepository配置项用来配置maven的本地仓库地址。

简单说就是用来存储通过maven下载下来的各种jar包。如果我们的项目pom.xml文件依赖了某个jar包,默认会先从我们本地仓库去查找,查不到的请求下,再去请求外部仓库。

localRepository>D:\java\maven\apache-maven-3.6.2-bin\mavenrepository</localRepository>

6.2<interactiveMode/>

InteractiveMode 用户输入配置

  <interactiveMode>true</interactiveMode>

6.3<offline/>

offline 离线模式

<offline>false</offline>

6.4<pluginGroups/>

pluginGroups插件组

当我们使用某个插件,并且没有在命令行为其提供组织Id(groupId)的时候,Maven就会使用该列表。默认情况下该列表包含了org.apache.maven.pluginsorg.codehaus.mojo

<pluginGroup>com.your.plugins</pluginGroup>

6.5<servers/>

该配置项主要是用来为各个远程仓库配置认证信息。

    <server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
    </server>
    <server>
      <id>siteServer</id>
      <privateKey>/path/to/private/key</privateKey>
      <passphrase>optional; leave empty if not used.</passphrase>
    </server>

6.6<mirrors/>

mirrors配置项主要是用来为远程仓库配置镜像站点。

将Maven的中央仓库镜像设置为阿里云的仓库。当Maven需要下载依赖时,它会首先查看这个配置并使用阿里云的镜像站点。这样可以提高下载速度,特别是对于在中国大陆使用Maven的开发者来说,可以显著减少由于网络问题导致的下载延迟。

  <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

6.7 <proxies/>

如果您的计算机在防火墙后面,或者您需要通过代理服务器访问Internet,则可以使用元素配置代理服务器。

    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>

6.8<profiles/>

元素用于定义一组可选的构建配置。例如,您可以定义一个名为development的Profile,其中包含针对开发环境的特定配置,以及一个名为production的Profile,其中包含针对生产环境的特定配置。

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

6.9<activeProfiles/>

激活profile配置 activeProfiles,用来激活配置的profile。

  <activeProfiles>
    <activeProfile>alwaysActiveProfile</activeProfile>
    <activeProfile>anotherAlwaysActiveProfile</activeProfile>
  </activeProfiles>