Maven基础之仓库、命令、插件机制

在这里插入图片描述

Maven 仓库

中央仓库和本地仓库

[✎] 简单一点说
中央仓库是一个网址;本地仓库是一个本地的文件夹。

在使用 maven 过程中,maven 会去网络上的『中央仓库』下载你所需要的 java 库到你本地的某个文件夹下,这个存储 maven 下载下来的 jar 包的文件夹就是你的『本地仓库』。

[✔] 补充
本质上,其实是 maven 要求你的"本地仓库"中必须要有你所要用到的包,而因为你本地仓库中没有,所以,maven 会去网络上的"中央仓库"下载。

一旦在第一次下载过后,由于你的本地仓库中存在了这个 jar 包,那么后续,maven 就不再重复下载它了。

中央仓库

如果不指定的话,maven 默认是从 https://repo1.maven.org/maven2 下载(网速感人且不稳定)

在 maven 的全局配置文件 %homepath%/.m2/settings.xml 中,我们可以重新指定中央仓库的网址。

我们在Maven 基础之简介,基础配置中做的配置工作就是改动这个。

本地仓库

本地仓库指的是 “%homepath%/.m2/repository” 文件夹。

maven 从中央仓库(上面所配置的那个网址)中下载下来的 java 库的 jar 包,都会放在这里。

本地仓库的查找顺序:

  1. USER_HOME/.m2/settings.xml 中所配置的目录
  2. M2_HOME/conf/settings.xml 中所配置的目录
  3. USER_HOME/.m2/repository 目录

Maven 命令

语法:

mvn <指令>

generate 命令

generate 命令用于创建项目。在你所期望建立项目的文件路径下,执行如下命令

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

这条命令会在当前目录下,新建一个名字与 artifactId 值相同的 Maven 项目。

compile 命令

执行 mvn compile 命令,完成编译操作

执行完毕后,会生成 target 目录,该目录中存放了编译后的字节码文件(.class 文件)

clean 命令

执行 mvn clean 命令,完成清理操作。

执行完毕后,会将 target 目录删除。

test 命令

执行 mvn test 命令,完成单元测试操作。

执行完毕后,会在 target 目录中生成三个文件夹:surefire 、surefire-reports(测试报告)、test-classes(测试的字节码文件)

package 命令

执行 mvn package 命令,完成打包操作。

package 命令会涵盖 compile 命令和 test 命令,即,执行 package 命令会触发 compile 命令和 test 命令的执行。

执行完毕后,会在 target 目录中生成一个文件,该文件可能是 jar 、war ,这取决于 pom.xml 配置文件中的 <packaging>

install 命令

将包安装至本地仓库,以便让其它项目依赖。

install 命令会涵盖 package 命令,即,执行 install 命令会触发 package 命令的执行。

Maven 插件机制

Maven 本质上是一个插件的框架、平台。任何一个 Maven 动作(即,命令)都是由具体的插件去完成的。

例如:

  • mvn compile 这个命令,就是由 maven-compiler-plugin 插件提供的。

  • mvn test 这个命令,就是由 maven-surefire-plugin 插件提供的。

  • mvn package 这个命令,就是由 maven-jar-plugin / maven-war-plugin 插件提供的。

Maven 除了提供了大量的官方插件外,还可以「安装」第三方插件。

插件配置的依赖声明整体结构(其它无关元素略。另外,build 习惯性在 dependencies 的后面)

project 
├── dependencies
└── build
    └── plugins
        ├── plugin
        ├── plugin
        ├── ...
        └── plugin

官方插件:Compile 插件

通常,官方插件都是默认激活使用的。一般,我们不会通过自定义的配置去覆盖默认配置。

主要包含如下元素:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>

        <plugin>...</plugin>
        <plugin>...</plugin>
        <plugin>...</plugin>
    <plugins>
</build>

Tomcat 7 插件

tomcat 7 插件是一个 tomcat 7 容器的裁剪、精简版,并且它还提供了一个 tomcat7:run 命令来用这个裁剪版的运行当前项目。

我们在开发过程中 tomcat7-maven-plugin 就能运行当前项目,查看运行结果。

详情

<build>
    <plugins>
        <plugin>
            <!-- 配置插件 -->
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <path>/demo</path>
                <port>8080</port>
                <uriEncoding>UTF-8</uriEncoding>
            </configuration>
        </plugin>

        <plugin>...</plugin>
        <plugin>...</plugin>
        <plugin>...</plugin>
    </plugins>
</build>

[⚠] 警告
有 tomcat 8 版本的 maven 插件(即,一个 tomcat 8 容器的裁剪、精简版),但是中央仓库中并没有。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 阿里云最新的Maven仓库是指阿里云推出的一种用于存储和管理Maven项目的镜像仓库服务。作为一个可靠和高性能的镜像仓库,阿里云最新的Maven仓库提供了以下几个关键的特性: 1. 快速且可靠的下载速度:阿里云的全球分布式网络架构保证了Maven项目的快速访问和下载,无论是在国内还是国际网络环境下,用户都可以获得高速、稳定的服务。 2. 全面的镜像源支持:阿里云最新的Maven仓库覆盖了全球各个常用的开源镜像源,包括Maven Central、Spring、Gradle、Apache、JBoss等,并提供了丰富的开源生态系统。 3. 灵活的镜像同步机制:阿里云最新的Maven仓库采用了高效的同步机制,可以实时同步各大开源源,并通过智能缓存和优化策略,减少了冗余的下载和传输。这意味着用户可以更快地获取到最新的依赖包,提高开发效率。 4. 安全可靠的存储和管理:阿里云最新的Maven仓库提供了高可用和高可靠的存储和管理机制,保证了用户上传和下载的数据的安全性和完整性。此外,阿里云还提供了用户权限控制和访问日志等功能,帮助用户更好地管理和保护他们的项目信息。 总之,阿里云最新的Maven仓库为开发者提供了一个高性能、易用且安全可靠的镜像仓库服务,助力项目开发和管理。无论是个人开发者还是企业团队,都可以从受益,提高开发效率和质量。 ### 回答2: 阿里云最新的Maven仓库是指阿里云推出的用于存储和分发Maven项目的镜像仓库,旨在提供高效、稳定的项目依赖下载服务。 阿里云的最新Maven仓库使用了分布式存储技术,具备了高可用性、高性能和高扩展性等优势。用户可以通过配置Maven的settings.xml文件来将阿里云的Maven仓库设置为镜像源,从而加速项目的构建和依赖的下载。 阿里云的Maven仓库拥有丰富的开源库支持,包括Spring、Hibernate、Apache等众多知名开源项目。用户可以通过在pom.xml文件指定所需的依赖,然后通过Maven命令或者IDE插件将这些依赖从阿里云的镜像仓库下载到本地项目。 阿里云的Maven仓库还提供了多版本的支持,用户可以根据自己项目的需求选择所需的版本进行下载。此外,阿里云的镜像仓库还提供了丰富的功能支持,如快照版本发布、应用微服务等,方便开发者进行项目的管理和发布。 总之,阿里云最新的Maven仓库一个功能强大、稳定可靠的镜像仓库,可以为开发者提供快速、高效的项目依赖下载服务,使项目开发更加便捷。 ### 回答3: Aliyun最新的Maven镜像仓库一个用于存储、共享和管理Maven构建的央存储库。它提供了世界各地的云端访问,可以让开发者更快地下载所需的依赖项。 Aliyun最新的Maven镜像仓库具有以下特点: 1. 快速可靠:镜像仓库位于全球各地的数据心,具备高速网络连接,能够提供稳定且快速的下载速度。 2. 可靠性和稳定性:Aliyun采用高可用架构来保证Maven仓库的稳定性和可靠性。无论是进行软件开发、构建还是运行,Aliyun提供了可靠的服务保障。 3. 多版本支持:Aliyun的Maven仓库提供了各个版本的Maven依赖项,开发者可以根据项目需求选择合适的版本进行下载和使用。 4. 安全性:Aliyun Maven仓库采用了安全的认证和授权机制,只有经过验证的用户才能访问和下载依赖项,确保开发过程的代码安全。 5. 功能强大:除了提供标准的Maven构建功能外,Aliyun Maven仓库还提供了其他高级功能,如仪表盘、分析报告和团队协作等,方便开发者进行团队协作和项目管理。 总之,Aliyun最新的Maven镜像仓库一个功能强大、高可用、安全可靠的央存储库,为开发者提供了优质的服务和世界级的下载体验。无论是个人开发者还是企业团队,都可以依赖Aliyun的Maven镜像仓库来进行Maven项目的构建和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值