Maven 入门教程

Maven入门教程:编程学习的免费资源分享 这是一个简单的Maven入门教程,帮助您了解Maven的基本概念和用法。通过使用Maven,您可以更高效地管理和构建Java项目,并轻松处理项目的依赖关系。Maven是一个强大的项目管理工具,被广泛用于Java项目的构建、依赖管理和部署。请访问Apache Maven官方网站,下载最新稳定版本的Maven,并按照官方文档提供的步骤进行安装。在了解Maven项目的结构之前,我们先创建一个简单的Maven项目。文件中声明依赖项,Maven可以自动下载所需的库文件并将其添加到项目的classpath中。 阅读详情

下载安装

环境变量配置

  • 依赖 Java,需要配置 JAVA_HOME
  • 配置 MAVEN_HOME
  • 测试:mvn

配置

更改本地仓库位置

  • settings.xml

    <localRepository>仓库位置</localRepository>
    
    

镜像仓库配置

  • setting.xml

        <mirror>
          <id>aliyunmaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun</name>
          <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    
    

Maven 命令

  • 编译命令:mvn compile
  • 清理命令:mvn clean
  • 测试命令:mvn test
  • 打包命令:mvn package
  • 安装到本地仓库:mvn install

Maven 工程

插件创建工程

  • 创建工程

    mvn archetype:gengrate
        -DgroupId={project-packaging}
        -DartifactId={project-name}
        -DarchetypeArtifactId=maven-archetype-quickstart
        -DinteractiveMode=false
    
    
  • 创建 Java 工程

    mvn archetype:generate -DgroupId=com.ruochen -DartifactId=java-project -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=0.0.1-snapshot -DinteractiveMode=false
    
    
  • 创建 web 工程

    mvn archetype:generate -DgroupId=com.ruochen -DartifactId=web-project -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1-snapshot -DinteractiveMode=false
    
    

IDEA 创建 Maven 工程

  • 创建一个 Empty Project
  • 在 settings 中修改为自己的路径

  • 创建一个 maven module

骨架创建 Maven 工程

  • new module

Web 工程

  • new module

依赖管理

  • 依赖传递

    • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
    • 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
  • 依赖传递冲突问题

    • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
    • 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
    • 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
  • 依赖范围

  • 依赖范围传递性

生命周期与插件

构建项目生命周期

  • clean:清理工作
    • pre-clean:执行一些需要在clean之前完成的工作
    • clean:移除所有上一次构建生成的文件
    • post-clean:执行一些需要在clean之后立刻完成的工作
  • default:核心工作,例如编译、测试、打包、部署等

  • site:产生报告,发布站点等

插件

  • 插件与生命周期内的阶段绑定,在执行到对应的生命周期时执行对应的插件功能

  • 默认maven在各个生命周期上绑有预设的功能

  • 通过插件可以自定义其他功能

  • eg

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <phase>generate-test-resources</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
Jetpack Compose Navigation实战:从基础到高级导航模式 本文全面解析Jetpack Compose Navigation在Android开发中的应用,从基础导航实现到高级模式(如单任务/单顶模式),涵盖参数传递、嵌套导航、深层链接等核心功能。通过实战代码示例展示如何优化导航性能,并与ViewModel、Hilt等架构组件整合,为开发者提供高效的Compose导航解决方案。 阅读详情

相关推荐

WSL2网络配置全攻略:如何让Windows和Linux子系统互相访问端口(附防火墙设置)

本文深入解析WSL2的网络架构,并提供详细的端口互通配置指南。针对WSL2与Windows宿主机之间常见的网络访问问题,文章从原理出发,逐步讲解如何识别网络环境、配置Windows防火墙规则、调整服务监听地址,并介绍镜像网络模式等进阶优化方案,最终实现稳定可靠的双向端口访问。

sony5的博客 1148

Maven入门教程

Maven是一个基于项目对象模型(Project Object Model)的构建工具,用于管理 Java 项目的依赖、构建流程和文档生成。

tangyi2008的专栏 1291

智能排班考勤系统原型

可实现从业务预测,到工时预估,再到人员分配全流程自动智能排班。可应用于客服行业或工厂的智能排班系统。

gywm15111336483的专栏 995

学习maven的实用入门教程

通过以下三步的学习,基本对maven就有一个全面的了解了:   1、学习maven的一个不错的入门教程,收藏了!   http://www.360doc.com/content/10/0303/22/284485_17481406.shtml     2、maven的eclipse插件:m2eclipse   http://m2eclipse.sonatype.org/   ...

city_moon的专栏 248

团结引擎+OpenHarmony 2实战篇:从零构建鸿蒙应用开发环境

本文详细介绍了如何从零开始构建鸿蒙应用开发环境,重点讲解了团结引擎与OpenHarmony 2的实战配置步骤。内容包括DevEco Studio安装、OpenHarmony SDK配置、团结引擎集成及项目创建等关键环节,帮助开发者快速搭建高效的开发环境,提升鸿蒙应用开发效率。

weixin_29294395的博客 265

利用Spm12进行fMRI数据分析:从预处理到结果解读的完整指南

本文提供了利用SPM12进行fMRI数据分析的完整流程指南,涵盖从数据预处理、统计建模到结果解读的全过程。详细介绍了在MATLAB环境下使用SPM12图形界面完成头动矫正、空间标准化等关键步骤的操作方法与避坑技巧,帮助神经科学研究者和心理学研究者高效处理功能磁共振成像数据并产出可靠结果。

weixin_29079671的博客 452

从零到一:Maven 快速入门教程

Maven是 Apache 软件基金会开发的一个项目管理和构建自动化工具,主要用于 Java 项目。管理项目的依赖(比如第三方库)自动构建项目(编译、打包)管理项目的生命周期(从创建到发布)管理插件(自动化任务,如测试、代码检查)一个 Maven 工程遵循约定的目录结构,这种标准化的目录布局是 Maven 实现自动化构建过程中不可或缺的关键环节。Maven 推荐采用统一的目录结构,以确保项目的一致性和构建过程的高效性。├── src/│ │ └── java/ # 主代码。

记录大学四年代码 1934

SAP入门技术分享四:模块化程序

SAP入门技术分享三:模块化程序

ITxiaoangzai的博客 1152

认识和使用工具之Maven入门教程

Maven入门教程   概念 Maven是什么 Maven 是一个项目管理工具。它负责管理项目开发过程中的几乎所有的东西。 版本 maven有自己的版本定义和规则 构建 maven支持许多种的应用程序类型,对于每一种支持的应用程序类型都定义好了一组构建规则和工具集。 输出物管理 maven可以管理项目构建的产物,并将其加入到用户库中。这个功能可以用于项目组和其他部门之间的交...

绝圣弃智-零的博客 409

科研绘图系列:R语言绘制宏基因组分析的可视化图形(network & barplot & heatmap)

科研绘图系列:R语言多图形组合(network & barplot & heatmap)

专注生信领域 644

EMB电子机械制动系统和EHB电子液压制动系统控制功能的对比

EMB电子机械制动系统相比EHB液压制动系统具有显著优势:响应速度更快(<100ms)、控制精度更高(±2N·m)、能实现单轮独立控制,支持0.1%级制动力调节。在ABS、ESC等安全功能上表现更优,制动平顺性和NVH性能更好,同时提升能量回收效率15%-20%。特别适合智能驾驶需求,可使AEB等系统响应时间缩短50ms,紧急制动距离减少1米以上。EMB系统完美契合高阶自动驾驶对快速响应和精准控制的要求。

m0_59012156的博客 885

Maven 基础与入门教程

本文是 Maven 入门教程,涵盖核心概念、安装配置、pom.xml 详解、常用命令、依赖管理、生命周期与插件等内容,帮助 Java开发者快速上手 Maven 项目构建与依赖管理。

qq_60505769的博客 921

解读(DivideMix)DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING

这是Salesforce在今年年初出的一篇关于半监督学习的文章被ICLR 2020收录,目前还保持在SOTA状态。 文章主要做了两点工作: • 提出了一个co-divide方法。 • 利用label co-refinement 和co-guessing 改善之前的谷歌提出的MixMatch方法 1.co-divide方法 大概思路:同时训练两个网络,让每个网络在样本损失分布上去拟合GMM模型,并利用GMM模型,将训练数据分为标签数据和未标签数据,co-divide 使前面分的标签与未标签数据分别在

so 5042

maven入门教程

一.Maven 是什么?     Maven 英文名称:专家,由名字可见,这个工具野心非常大。有人说他是"构建工具",一个用来把源代码构建成可发布的构件的工具。也有人说是项目管理工具。 官方定义:     Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(

漫步 4万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 这份SpringBoot笔记真的强
下一篇: Java 8 Stream API可以怎么玩?
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值