mvn 学习Mvn知识详解

Mvn知识详解

// 这段配置的作用是在package阶段 利用source插件打包
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <Version>2.4<Version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                      <goal>jar-no-fork</goal>
                  </goals>
                </execution>
          </executions>
        </plugin>
    </plugins>
</build>

mvn介绍和了解

  1. 去apache官方网站 https://maven.apache.org 去下载
  2. bin: mvn运行的一些脚本
  3. Boot: 类加载器的框架
  4. Conf: 一些配置文件 settings.xml
  5. Lib: 包含平常一些需要的类目

配置全局导出命令并利用mvn -version验证

mvn介绍和环境搭建

. mvn 文件目录

src
    -main
        -java
            -package
    -test
        -java
            -package
    -resource

. 创建一个类 保存到 main java 下面

    package com.imooc.maven01.model;
    public class Helloworld{
        public String sayHello(){
            return "hello world"
        }
    }

. 创建一个测试类 test java 下面

    import  org.junit.*;
    import  org.junit.Assert.*;
    package com.imooc.maven01.model;
    public class HelloworldTest{
        @Test
        public void testHello(){
            Assert.assertEquals("Hello world",new Helloworld.sayHello)
        }
    }

. 需要pom.xml文件管理

image.png

groupid是项目名 artifacted是模块名 version 版本名 导入文件依赖 dependencies

把pom文件粘入项目中 执行mvn compile ---> target 生成 class 文件 执行mvn test ---> target 生成 report文件 执行mvn package ---> target生成jar包

mvn 命令

clean 清除target文件 install 安装jar到本地仓库

mvn 如何自动构建项目骨架

archetype插件 mvn archetype:generate 类似于npm init 需要输入 groupId artifactid version package 四个参数

mvn中的坐标和仓库

  1. 通过坐标确定唯一的资源
  2. mvn通过本地仓库->远程仓库->中央仓库地址寻找资源
  3. 镜像仓库地址 conf->settings [mirror]配置修改镜像仓库
  4. 可以通过修改localrepository 修改本地仓库地址

mvn 项目构建的生命周期

maven 生命周期 一些要点

clean 清理项目 default 构建项目 site 生成项目站点 执行生命周期的某一步骤会默认执行以前的步骤 例如package 之前会install 、test

clean 清理项目

  1. pre-clean 执行清理之前的文件
  2. clean 清理上一次构建生成的所有文件
  3. post-clean 执行清理后的文件

default 构建项目 [核心]

compile test package install

site 生成项目站点

  1. pre-site 生成项目站点前完成的工作
  2. site 生成项目的站点文档
  3. post-site 在生成项目站点后完成的工作
  4. site-deploy 发布生成站点到服务器上

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏琦小虾的Binary

Ubuntu环境如何上传项目到GitHub网站?

Ubuntu环境如何上传项目到GitHub网站? 之前笔者写了一篇《CMake学习笔记(三)——以笔者的Robosub竞赛为例》的博客。博客中笔者以自己的项目为...

32280
来自专栏xcywt

《Linux命令行与shell脚本编程大全》第十五章 呈现数据

15.1 理解输入和输出 现在知道两种显示脚本输出的方法 1)在显示器屏幕上显示 2)将输出文件重定向到文件中 15.1.1 标准文件描述符 Linux系统将每...

22960
来自专栏斑斓

Spark Submit的ClassPath问题

需求场景: 我们的产品需要与客户的权限系统对接,即在登录时使用客户的认证系统进行认证。集成认证的方式是调用客户提供的jar包,调用userService的aut...

62290
来自专栏存储

spring boot redis分布式锁

随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现有很多种,比如基于数据库、zookeeper等,本文主要介绍使用Redis做分布式锁...

70650
来自专栏我的博客

dedecms安装

安装之前需要准备 空间可以正常使用PHP+MYSQL 空间数据库用户名和密码 第一步:下载后解压uploads文件夹到指定的文件夹内(我这使用的www/dede...

36570
来自专栏跟着阿笨一起玩NET

“无法从http://XXX/XXX.svc?wsdl获取元数据”错误的解决方法

理解了文档内容,但无法进行处理。   - WSDL 文档包含无法解析的链接。   - 下载“http://admin-pc/IISHostService/Ser...

21920
来自专栏linux运维学习

linux学习第五篇:系统目录结构,ls命令,文件类型以及alias命令

系统目录结构 Ls查看根目录 ? 大多数常用的命令都存在于目录   /usr/bin     /usr/sbin/      /bin/    /sbin/  ...

222110
来自专栏吴伟祥

Nginx认识与实践(一) 转

笔者按照文章:《Nginx服务器开箱体验》 中的实验,给出了一份简要的清单配置举例:

10930
来自专栏令仔很忙

新手学Linux(八)----MySql安装(Centos7)

最近项目新申请了云服务器,老大让我搭了下环境,在安装MySql的时候遇到的坑稍微多点,所以在这里做个记录,我的安装方式不是通过安装包来安装的,而是通过yum来...

14610
来自专栏晓晨的专栏

ABP从入门到精通(6):快速重命名解决方案

14510

扫码关注云+社区

领取腾讯云代金券