Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Maven-02

Maven-02

原创
作者头像
kwan的解忧杂货铺
发布于 2024-10-06 09:11:47
发布于 2024-10-06 09:11:47
1640
举报

1.依赖包

代码语言:apl
AI代码解释
复制
http://www.mvnrepository.com/

http://mvnrepository.com/

http://findjar.com

http://sourceforge.net/

2.配置

maven环境自定义配置

image-20230330113648575
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-20240130204324643

image-20240130204140740
image-20240130204140740

3.快速打开文件

image-20231215020705437
image-20231215020705437

4.jar 瘦身

代码语言:xml
AI代码解释
复制
<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.环境配置

代码语言:xml
AI代码解释
复制
<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
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 IDEAEclipse)都支持 Maven,可以方便地进行项目管理和构建。
  15. 中央仓库:Maven 中央仓库是一个包含了大量公共依赖的远程仓库,开发者可以方便地添加依赖到自己的项目中。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
超级详细的 Maven 教程(基础+高级)
如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程
JanYork_简昀
2022/10/28
3.3K1
超级详细的 Maven 教程(基础+高级)
聊聊maven指定version区间的妙用
在我们开发微服务项目的过程中,难免会依赖各种jar,开发环境可能引用1.0.0-SNAPSHOT,而到了正式环境,则需要引用1.0.0。之前我们的做法是通过pom配置profile来达到不同环境,使用不同的版本。形如下
lyb-geek
2024/02/27
4630
聊聊maven指定version区间的妙用
Maven私服配置Setting和Pom文件
原文出处:http://www.yund.tech/zdetail.html?type=1&id=3688b5fa1f7d7df8b183ad8c9503546d 作者:jstarseven 上一遍博
大道七哥
2019/08/23
24K0
Maven私服配置Setting和Pom文件
项目管理构建工具——Maven(高阶篇)
Maven作为我们项目管理构建的常用工具,具备许多功能,在这篇文章中我们来仔细介绍
秋落雨微凉
2022/10/25
1.4K0
项目管理构建工具——Maven(高阶篇)
深入Maven:从入门到精通的全面指南
Apache Maven是一个项目管理和构建工具,主要用于Java项目。它基于项目对象模型(POM),可以通过一套标准化的方式管理项目的构建、依赖和文档。Maven的目标是简化和标准化项目的构建过程,使开发人员可以更专注于编写代码,而不是管理依赖和构建脚本。
九转成圣
2024/06/08
3400
Maven管理多模块应用
穿越至目录: 从0开始,构建前后端分离应用 对于概念的一些理解 Maven的作用 管理模块之间的依赖:根据业务需求,系统会划分很多模块,这些模块彼此之间存在着依赖关系。比如系统管理模块依赖着文件上传模块,来实现用户头像上传的功能。maven通过配置模块之间的pom依赖 生命周期管理:在web应用中,我们常要进行编译、打包、测试这些环节。在maven的世界里,将这些过程定义为生命周期。maven将这些复杂的过程进行了封装,使用者只需要简单的用鼠标点几下就可以完成项目的构建工作 强大的插件:举一个很常用的插
用户2193479
2018/06/28
1.8K0
《Maven实战》全书总结
把MAVEN_HOME/conf/seettings.xml cp 到 ~/.m2/下,在.m2下的settings.xml中所作的配置就是用户级别的配置,而直接编辑MAVEN_HOME/conf/seettings.xml所作的配置是全局的配置
CoderJed
2018/09/13
2K0
《Maven实战》全书总结
Maven详细介绍
如何回答这个问题要看你怎么看这个问题。 绝大部分Maven用户都称Maven是一个"构建工具":一个用来把源代码构建成可发布的构件的工具。 构建工程师和项目经理会说 Maven是一个更复杂的东西:一个项目管理工具。那么区别是什么? 像Ant这样的构建 工具仅仅是关注预处理,编译,打包,测试和分发。像 Maven 这样的一个项目管理工 具提供了构建工具所提供功能的超集。 除了提供构建的功能,Maven还可以生成报告, 生成Web站点,并且帮助推动工作团 队成员间的交流。一个更正式的 Apache Maven 1 的定义: Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。别让Maven是一个"项目管理"工具的事实吓跑你。如果你只是在找一个构建工具,Maven能做这个工作。 事实上,本书的一些章节将会涉及使用Maven来构建和分发你的项目。
WindWant
2020/09/11
2.7K0
Maven详细介绍
Maven学习笔记之Maven入门
本文涉及Maven知识点有Maven安装与配置,Maven项目结构,Maven依赖管理,Maven项目生命周期管理,基于IDE的Maven使用和Maven私服搭建。
Jetpropelledsnake21
2022/03/07
6920
Maven学习笔记之Maven入门
Maven 使用详解:打造便捷高效的项目构建利器
在软件开发的道路上,项目构建是一个不可避免的过程。而Maven,作为一个强大的项目管理和构建工具,为开发者提供了一套标准化的项目结构和构建流程。本文将围绕Maven的使用详解,手把手地带你探索Maven的世界,让你在项目构建的征途上更加得心应手。
繁依Fanyi
2023/12/31
6990
Maven相关知识点整理
maven构建的web项目与普通的java项目区别在于,少了一个wepapp文件
大忽悠爱学习
2021/11/15
1.5K0
maven总结 | 超详细的Maven实战配置资料
概述 Maven是一个项目管理和综合工具。 Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目 。 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤 。 基于项目对象模型(POM) ,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件 。 可以对 java、C#,Ruby,Scala 和其他语言编写的项目进行构建、依赖管理 。 功能 在多个开发团队环境时,Maven可以设置按标准在非常短的时间里完成配置工作。由于大部分项目的设置都很简单,
码神联盟
2020/03/31
1.9K0
maven总结 | 超详细的Maven实战配置资料
让我们一起做Maven实战,纯干货
Maven是Apache组织中的一个很成功的开源项目,Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。
程序员小猿
2021/01/18
5340
让我们一起做Maven实战,纯干货
Maven pom.xml中的元素modules、parent、properties以及import
  项目中用到了maven,而且用到的内容不像利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)用的那么简单;maven的核心是pom.xml,那么我就它来谈谈那些不同的地方;
青石路
2018/09/10
2.6K0
Maven pom.xml中的元素modules、parent、properties以及import
Spring Boot的依赖管理和构建工具
Spring Boot 是一个基于 Spring 框架的快速开发应用程序的工具,它提供了快速、开箱即用的方式来构建独立的、可部署的 Spring 应用程序。在使用 Spring Boot 时,我们需要管理依赖并使用构建工具来构建我们的应用程序。本文将介绍 Spring Boot 的依赖管理和构建工具,并提供一些实际示例。
堕落飞鸟
2023/04/05
1.1K0
Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,为什么它总是和maven一起被提到呢?
全栈程序员站长
2022/07/02
5K0
Nexus简介及小白使用IDEA打包上传到Nexus3私服详细教程
发布制品到私服 Nexus
在项目中,有些通用的代码模块,有时候不想通过拷贝这么简单的方式粗暴地实现复用。因为这样不仅体现不了 jar 包的 class 变更的实时性,而且也不利于 jar 统一管理。使用maven deploy的方式,将通用的模块打成 jar 包,发布到 Nexus 服务,让其他的项目来引用,以简洁、高效的方式来实现 jar 复用和管理。
BUG弄潮儿
2022/04/15
4000
发布制品到私服 Nexus
关于Maven的使用,这些你都了解了么?
此文档主要说明Maven的基础使用方式,以及在使用过程过程中需要遵守哪些默认的准则。我们工作中会经常写maven的配置,但是很多maven使用细节你可能并不知道,但你掌握后使用maven会更加上手。
kl博主
2023/11/18
3460
Maven的爱恨情仇
在如今的互联网项目开发当中,特别是Java开发中,可以说Maven是随处可见。Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的。相信使用过Maven的人,一定曾经被Maven伤害过,但又不得不去让它来伤害,谁让它能给项目的构建提供便利呢。
xcbeyond
2020/04/02
4810
Java Maven Settings配置参考
settings.xml文件中的 settings 元素包含用于定义以各种方式配置Maven执行的值的元素,如pom.xml,但不应绑定到任何特定项目或分发给受众。这些值包括本地仓库位置、备用远程仓库服务器和身份验证信息。
授客
2025/04/19
4190
Java Maven Settings配置参考
相关推荐
超级详细的 Maven 教程(基础+高级)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档