Maven-02

举报
kwan的解忧杂货铺 发表于 2024/10/06 17:11:35 2024/10/06
【摘要】 1.依赖包http://www.mvnrepository.com/http://mvnrepository.com/http://findjar.comhttp://sourceforge.net/ 2.配置maven环境自定义配置如果不指定maven home path如下图所示,最新版的 2023.3.2 默认使用的是 Maven3.9.5mvn -v显示了 Maven3.9.5,说...

1.依赖包

http://www.mvnrepository.com/

http://mvnrepository.com/

http://findjar.com

http://sourceforge.net/

2.配置

maven环境自定义配置

image-20230330113648575

如果不指定maven home path

如下图所示,最新版的 2023.3.2 默认使用的是 Maven3.9.5

mvn -v

  • 显示了 Maven3.9.5,说明需要指定自定义的 Maven 的文件夹
  • 在终端中执行 maven 其实走的还是自定义的 Maven 文件夹
  • 在 maven 的终端中走的其实是 idea 自带的 maven 版本,如果有自定义 Maven home path 则走自定义的

image-20240130204324643

image-20240130204140740

3.快速打开文件

image-20231215020705437

4.jar 瘦身

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <minimizeJar>true</minimizeJar>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

5.环境配置

<profiles>
  <profile>
      <id>dev</id>

      <properties>
          <!--内部版本-->
          <tag.common.version>1.0.0-SNAPSHOT</tag.common.version>
          <tag.api.version>1.0.0-SNAPSHOT</tag.api.version>
          <tag.provider.version>1.0.0-SNAPSHOT</tag.provider.version>
      </properties>
  </profile>

  <profile>
      <id>test</id>

      <properties>
          <!--内部版本-->
          <tag.common.version>1.0.0-SNAPSHOT</tag.common.version>
          <tag.api.version>1.0.0-SNAPSHOT</tag.api.version>
          <tag.provider.version>1.0.0-SNAPSHOT</tag.provider.version>
      </properties>
  </profile>

  <profile>
      <id>uat</id>

      <properties>
          <!--内部版本-->
          <tag.common.version>1.0.0</tag.common.version>
          <tag.api.version>1.0.0</tag.api.version>
          <tag.provider.version>1.0.0</tag.provider.version>
      </properties>
  </profile>

  <profile>
      <id>prd</id>

      <properties>
          <!--内部版本-->
          <tag.common.version>1.0.0</tag.common.version>
          <tag.api.version>1.0.0</tag.api.version>
          <tag.provider.version>1.0.0</tag.provider.version>
      </properties>
  </profile>
</profiles>

6.mvn 终端

  • 方便
  • 检测 maven 环境

image-20240130204625474

Maven 是一个项目管理和理解工具,它主要服务于基于 Java 的项目。Maven 主要关注于项目的构建、依赖管理和项目信息管理。它使用一个名为 POM(Project Object Model)的 XML 文件来描述项目的构建过程、依赖、插件等信息。

以下是 Maven 的一些核心概念和功能:

  1. 项目对象模型(POM):POM 是 Maven 项目的核心,它是一个 XML 文件,定义了项目的构建配置、依赖、插件、项目信息等。

  2. 依赖管理:Maven 通过 POM 文件管理项目的依赖,可以自动下载和安装所需的库。

  3. 构建生命周期:Maven 定义了一系列的阶段(如编译、测试、打包、部署等),这些阶段按顺序执行,形成了项目的构建生命周期。

  4. 插件:Maven 插件可以扩展 Maven 的功能,例如编译源代码、运行测试、生成文档等。

  5. 继承:Maven 允许项目继承另一个 POM 文件,这样可以在父 POM 中定义公共配置,子项目继承这些配置。

  6. 聚合:Maven 支持多模块项目,可以通过聚合构建多个子模块。

  7. 仓库管理:Maven 可以配置本地仓库和远程仓库,用于存储和管理项目的依赖。

  8. 依赖范围:Maven 允许定义依赖的范围(如 compile、test、provided 等),以控制依赖在不同构建阶段的可用性。

  9. 版本管理:Maven 可以管理项目的版本号,并且支持 SNAPSHOT 版本,用于持续集成和开发。

  10. 构建配置:Maven 允许在 POM 文件中配置构建参数,如编译器设置、资源文件、过滤器等。

  11. 属性:在 POM 文件中定义属性,可以在构建过程中重用。

  12. profiles:Maven 允许定义不同的构建配置文件(profiles),以适应不同的构建环境或需求。

  13. 命令行工具:Maven 提供了一个命令行工具,可以通过命令行执行构建和项目管理任务。

  14. IDE 集成:大多数 Java 开发环境(如 IntelliJ IDEA、Eclipse)都支持 Maven,可以方便地进行项目管理和构建。

  15. 中央仓库:Maven 中央仓库是一个包含了大量公共依赖的远程仓库,开发者可以方便地添加依赖到自己的项目中。

Maven 的目标是让 Java 项目的构建过程标准化,自动化,并且可以轻松地管理项目的依赖。通过 Maven,开发者可以专注于编码,而不是构建和依赖管理。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。