Maven入门

Maven从入门到精通指南 Maven是Apache维护的Java项目构建与依赖管理工具,通过POM模型标准化开发流程。它解决了传统Java项目手动管理依赖、构建流程不统一等问题,提供自动依赖下载、统一命令和目录结构等功能。Maven包含三种仓库(本地、中央、私服),标准目录结构清晰区分源代码与资源文件。常用命令如mvn clean、install覆盖完整构建生命周期。POM文件通过标签管理依赖版本、配置仓库地址及构建插件,特别适合多模块项目管理。通过IDEA可快速创建Maven项目,结合SpringBoot等框架简化企业级开发。 阅读详情

Maven入门

  • 1.1 介绍
    Maven是一个采用纯Java编写的开源项目管理工具,Maven采用了一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件Maven可以管理项目的整个生命周期,包括清除、编译、测试,报告、打包,部署等

    好处:
    节省程序员的时间与精力,开发人员主要任务是关注商业逻辑并实现它,而不是把时间浪费在学习如何在不同的环境中去依赖jar包,项目部署等。

  • 1.2
    Maven能够做什么
    1 Jar的声明式依赖性管理
    2 项目自动构建

  • 1.3 Maven 目录分析
    bin: 含有mvn运行的脚本
    boot: 含有plexus-classworlds类加载器框架
    conf: 含有settings.xml配置文件
    lib: 含有Maven运行时所需要的java类库
    Settings.xml中默认的用户库: ${user.home}/.m2/repository
    Maven默认仓库下载地址: maven 的lib目录下 maven-model-builder-3.0.4.jar的pom.xml中

  • 1.4 第一个Maven演示
    项目目录结构:
    Hello
    –src
    —–main
    ———-java –用来存放Java文件
    ———-resources –用来存放资源文件
    —–test
    ———java –用来存放测试的Java文件
    ———resources
    –target –项目输出位置,编译完毕后自动生成
    –pom.xml – 项目对象模型的描述 ,它是maven配置的核心

    1. 4.1 建立pom.xml
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <!-- 当前pom的版本号 -->
  <modelVersion>4.0.0</modelVersion>
<!—grounpId, artifactId, version用来定义打包文件坐标-->
  <!-- groupId:当前项目所在的组;组名一般是关的包名 当前jar所属的命名空间 -->
  <groupId>cn.it.maven</groupId>
  <!-- 当前项目模块名称 -->
  <artifactId>Hello</artifactId>
  <!-- 当前项目的版本, SNAPSHOT镜像版,一般用于开发等不稳定 版本 -->
  <version>0.0.1-SNAPSHOT</version>
    <!-- 当前模块需要依赖的相关jar包,也称为依赖管理, 所有被依赖的包都是通过"坐标"定位的 -->
    <dependencies>
        <!-- 需要依赖junit 通过 groupId+artifactId+version来查找,如果本地没有则到中央仓库下载 -->
        <dependency>
            <!-- 当前jar所属的命名空间 -->
            <groupId>junit</groupId>
            <!-- 依赖的项目模块的名称 -->
            <artifactId>junit</artifactId>
            <!-- 依赖的版本号 -->
            <version>4.9</version>
            <!-- 依赖的范围, 有 test compile privlege -->
            <scope>test</scope>
        </dependency>

1.4.2 创建Java类与测试类
- 在src/main/java/cn/it/maven目录下新建文件Hello.java

    package cn.it.maven;
public class Hello {
    public String sayHello(String name){
        return "Hello "+name+"!";
    }
}
  • 在/src/test/java/cn/it/maven目录下新建测试文件HelloTest.java
package cn.it.maven;
import org.junit.Test;
import static junit.framework.Assert.*;
public class HelloTest {
    @Test
    public void testHello(){
        Hello hello = new Hello();
        String results = hello.sayHello("litingwei");
        assertEquals("Hello litingwei!",results);       
    }
}
  • 1.5. 命令测试
    打开cmd命令行, 进入Hello项目根目录执行mvn compile命令, 查看根目录变化
    cmd 中继续录入mvn clean命令,然后再次查看根目录变化
    cmd 中录入 mvn clean compile命令, 查看根目录变化
    cmd 中录入 mvn clean test命令,查看根目录变化
    cmd 中录入 mvn clean package命令,查看根目录变化 打包放在 项目下边
    cmd 中录入 mvn install : 安装,把项目的jar包安装到 本地仓库 扔到仓库

  • 1.6Maven核心概念
    1.6.1 Maven插件
    Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的每个插件都能实现多个功能,每个功能就是一个插件目标
    Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务, Maven的插件在: .m2\repository\org\apache\maven\plugins (也可以更改目录)

    1.6.2 Maven坐标
    - groupId:定义当前Maven项目组 (实际对应JAVA的包的结构,有些跟公司名称相关的项目)
    - artifactId:定义实际项目中的一个模块(项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称)
    - version:定义当前项目的当前版本

    1.6.3 Maven仓库
         - 何为Maven仓库: 用来统一存储所有Maven共享构建的位置是仓库   
    -   Maven配置jar或其它包的路径为 :            groupId/artifactId/version
    -   本地仓库(~/.m2/repository/):每个用户只有一个本地仓库
    -   中央仓库(Maven默认的远程仓库):Maven默认的远程仓库下载地址为:http://repo1.maven.org/maven2
    -   私服:是一种特殊的远程仓库, 它是架设在局域网内的仓库, 主要是为了团队协作开发
    

整个Maven 仓库的目录结构

Altium Designer系列: 软件系统参数配置保存 【Altium Designer实践】 软件系统参数配置保存 作者 CodeAllen ,转载请注明出处 目录设置中文菜单高亮模式设置文件关联pcb设置布线设置保存配置文件(复用) 设置中文菜单 DXP->Preferences 高亮模式设置 文件关联 pcb设置 布线设置 保存配置文件(复用) ...... 阅读详情

相关推荐

Changer: Feature Interaction Is What You Need forChange Detection

还有“交换“交互是一种完全不需要参数和计算的操作,它是通过交换空间或通道维度上的双时态特征映射来实现的,交换的特征在经过后续的卷积或令牌混合时进行混合。方法二:提出了两种简单的交互策略,AD和特征“交换”,大量的实验表明,它们可以极大地提高MetaChanger的性能,特别是特征“交换”,即使嵌入到复杂的网络中或应用于具有挑战性的数据集。在这里,我们用虚线勾勒本文的重点。这是变化检测任务的基本问题,双时相图像提供了同一地区在不同时间点的图像数据,通过对比这两个时间点的图像,我们可以检测出该地区的变化。

yokon的博客 1622

maven中的groupId是什么

maven中的groupId和artifactId到底指的是什么?

qq_46423017的博客 5658

Jenkins插件下载慢?3分钟搞定国内镜像加速(含华为/腾讯/清华源对比)

本文详细介绍了如何通过国内镜像源加速Jenkins插件下载,包括华为云、腾讯云和清华源等主流镜像站的性能对比及一键配置方案。通过实测数据展示华为云镜像站表现最佳,下载速度达19.4MB/s,并提供sed命令、管理界面配置和Docker定制三种高效加速方案,帮助开发者快速解决插件下载慢的问题。

sql99的博客 320

Maven入门,读完这篇就够了

前言夜空中最亮的星,2018请照亮我前行~ Maven是我们日常开发都会用到的,新年第一天,把看过的Maven基础概念做了整理,作为入门和查阅使用。正文 Maven概念Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具。Maven不仅是构建工具,还是一个依赖管理工具和项目管理工具,它

嘟爷java超神学堂 2731

海洋科学—物理海洋学 第五章 海洋环流

本章是基于《海洋科学导论》,但里面涉及到的重要的公式推导是专门拎出来推的,主要借鉴董昌明老师的《物理海洋学导论》,其中有一些多出来的推导,会在更新完整个物理海洋学之后重新拿出来一一讲解,最后开一个番外篇

qq_58518586的博客 1万+

2023最新版kali安装教程

2023最新版kali安装教程 打开kali官网(https://www.kali.org/),下载kali镜像

qq_46346209的博客 2万+

Maven详解(四)依赖的配置

依赖的配置&lt;project&gt; ... &lt;dependencies&gt;     &lt;dependency&gt;         &lt;groupId&gt;实际项目&lt;/groupId&gt; &amp;emsp;&amp;emsp;&amp;emsp;&amp;emsp; &lt;artifactId&gt;模块&lt;/artifactI

有天你会让我妒忌的 600

如何用Megatron-LM搭建多卡集群?手把手教你配置分布式训练环境

本文提供了一份详细的Megatron-LM多卡集群搭建实战指南。从硬件兼容性检查、软件栈版本对齐,到分布式并行策略(数据并行、张量并行、流水线并行)的配置与多节点启动脚本编写,手把手教你配置稳定高效的分布式训练环境,并分享了关键的排错与性能调优经验。

yellow的专栏 414

Maven插件之自动生成实体和业务处理逻辑

Maven自动生成实体映射Dao在pom.xml中做两处配置在Maven配置文件pom.xml中引入mybatis-generator-core-1.3.5.jar,如下所示:&lt;dependency&gt; &lt;groupId&gt;org.mybatis.generator&lt;/groupId&gt; &lt;artifactId&gt;mybatis-gene...

Gandoph的博客 368

HTML5网页基础设计——课程介绍专栏

案例: 参考代码: <!doctype html> <html> <head> <meta charset="utf-8"> <title>动手实践</title> <style> *{ margin: 0; padding: 0; font-size:14px; } dd{ width: 461px; height: 145px; margin: -4px; pad.

shengming_tutou的博客 4594

Python 复现AlexNet框架代码

【代码】Python 复现AlexNet框架代码。

Quintin 2420

企业级应用开发和Maven之间的那些事

转载: http://www.jianshu.com/p/fd1a28b971bb到目前为止(未来有很多不可预知的事),Java应该还是企业级应用开发的首选,基于Java开发的企业级应用软件架构也是经历了一代又一代,从最初的jsp+javabean+servlet,到后来流行的MVC架构SSH,再到目前的“百花齐放”——涌现出了太多的开发框架。在这个已经到来的“云时代”,如何让我们开发的软件具备很好

---------------- 2549

QGis软件 —— 9、QGis - 由点绘制热力图来模拟人流量(绘制点方式、excel导入数据方式)

QGis软件 —— 9、QGis - 由点绘制热力图来模拟人流量(绘制点方式、excel导入数据方式)

1470

maven入门

maven是一个项目构建和jar包管理工具。项目构建:1、创建项目结构 2、写java文件 3、编译 4、测试 5、打包 6、install安装jar包管理:1、引入jar包依赖 2、管理依赖 (自动下载相关依赖jar包)3、jar包版本统一管理。

yang_xiao_wu_的博客 4294

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Maven 入门

Maven 是Java项目的自动化构建工具,依托于项目对象模型POM(即Project Object Model),为项目的全生命周期管理提供全方位支持。

cicii 1809

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Maven学习总结(一)——Maven入门

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34318326的博客 1722

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

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

Maven入门(够用)

Maven是一个Java项目管理和构建工具,主要通过pom.xml配置文件管理项目依赖。学习Maven应先掌握其使用方法,包括环境配置、本地仓库设置、镜像源优化等核心功能。pom.xml文件包含项目坐标、依赖管理、构建配置等模块,其中依赖范围(scope)是重点,分为compile、test、runtime等不同作用域,分别控制依赖在编译、测试、运行等环节的可见性。Maven的标准项目结构包含src/main/java等目录,编译输出到target文件夹。实际开发中应着重掌握pom.xml的编写和依赖管理技

he20021221的博客 1754

maven 从入门到精通

为什么80%的码农都做不了架构师?>>> ...

weixin_34184158的博客 361

Maven和MyBatis入门

Maven和MyBatis入门

XQ_27的博客 369

Maven入门指南 :Maven学习教程

链接:https://blog.youkuaiyun.com/lmhlmh_/article/details/81176627 链接:https://blog.youkuaiyun.com/a331685690/article/details/80552735 链接:https://blog.youkuaiyun.com/li_zean/article/details/79280541 Maven学习教程1. Maven 快速入门及...

萍踪缘的博客 890

Maven入门到精通

POM(Project Object Model))项目对象模型,它是Maven的核心组件。它是Maven中的基本工作单元。它是一个xml文件,以pom.xml驻留在项目的根目录中。POM不仅包含有关项目的信息及Maven用于构建项目的各种配置的详细信息,还包含目标和插件。所有Maven项目必须要遵循的目录规范.将java源码和测试代码拆分.便于项目的管理和扩展.如图,可以打开项目结构,通过选中文件夹点击红框中的内容给文件夹赋予对应属性也称为gv定位。使用三个标签来唯一定位jar资源。

qq_63589255的博客 1401

Maven快速入门指南

Apache Maven是Java项目构建与依赖管理工具,通过约定优于配置(Convention Over Configuration)的理念,实现项目构建的标准化。项目对象模型(POM):使用pom.xml文件描述项目依赖管理系统:自动下载和管理第三方库构建生命周期:预定义的构建阶段(compile/test/package等)插件体系:通过插件扩展功能。

咸鱼的博客 1026

01-16Maven-SpringBoot入门

Java企业级开发的发展史JavaEE/J2EE时代复杂性和繁琐的配置,存在一些限制和挑战Spring时代Spring框架引入了依赖注入(DI)和面向切面编程(AOP)等新概念,以减少组件之间的耦合度、提高代码的可维护性和可测试性Spring通过IoC容器(控制反转容器)来管理对象之间的依赖关系,不用new对象了,并提供了许多其他功能模块,如数据访问、事务管理、安全性等,使开发者能够更专注于业务逻辑的实现需要配置繁琐SpringBoot时代约定大于配置的原则,通过自动配置和默认值设置。

Zyangxsir的博客 1532
上一篇: javaIO流中的字节字符流整理
下一篇: 快速排序
PinGool
博客等级 码龄10年 6粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值