文档章节

终于可以记录了,呵呵~(maven视屏学习记)

心中的理想乡
 心中的理想乡
发布于 2017/08/14 00:50
字数 897
阅读 24
收藏 0

一、下载maven

下载maven像坨屎,不解释了。直接网站下载就可以了

二、配置maven

(mac下面配置)在/User/jicheng/.bash_profile文件里面加入下面的maven配置路径


MAVEN_HOME=/Users/xuchen/Desktop/dev/applications/maven/apache-maven-3.2.1#maven全路径 
PATH=$PATH:$MAVEN_HOME/bin  
  
export MAVEN_HOME  
export PATH  

三、maven目录结构

src
    -main
        -java
            -(包名及类)
    -test
        -java
            -(对应的测试包名及类)
    -resource
    -pom.xml

四、命令学习

mvn -v              查看maven版本
    compile         编译
    test            测试
    package         打包

    clean           删除target
    install         安装jar包到本地仓库中

五、使用maven插件自动创建maven工程骨架

mven archetype:generate( -DgroupId=组织名
                         -DartifactId=项目名-模块名
                         -Dversion=版本号
                         -Dpackage=代码存在的包)

六、对setting.xml的基础修改

修改镜像仓库地址:找到里面的mirror标签进行修改 修改本地jar包仓库地址:找到里面的localRepository标签 p.s.:对setting文件的修改是五花八门的,以前zte的时候设置那个setting复杂到想死。现在youzan要简单多了。以后再慢慢深入的了解与学习

七、maven项目构建过程

清理、编译、测试、打包、集成测试、验证、部署

生命周期:

  • clean 清理项目:
       - pre-clean 执行清理前的工作
       - clean 清理上一次构建生成的所有文件
       - post-clean 执行清理后的文件
  • default 构建项目:
       - compile test package install
  • site 生成项目站点:
       - pre-site 再生成项目站点前要完成的工作
       - site 生成项目的站点文档
       - post-site 在生成项目站点后要完成的工作
       - site-deploy 发布生成的站点到服务器上面

周期的问题:每个生命周期都是相互隔离的,不会相互影响;每个生命周期里面的命令都是有顺序的,顺序靠后的命令执行会默认执行前面的命令

八、maven中pom文件的介绍

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>制定了当前pom的版本</modelVersion>
    <!--子模块对父亲模块的继承-->
    <parent>
        <groupId></groupId>
        <artifactId></artifactId>
        <version></version>
    </parent>
    <groupId>反写公司网址+项目名</groupId>
    <artifactId>项目名+模块名</artifactId>
    <version>
        第一0表示大版本号
        第二个0表示小版本号
        0.0.1
        snapshot快照
        alphabe内部测试
        beta公测
        Release稳定
        GA正式发布
    </version>
    <!--默认是jar,可以是war zip pom-->
    <packaging>war</packaging>
    <!--项目描述名-->
    <name>Mei Api</name>
    <!--项目地址-->
    <url>http://www.ruanwei.org</url>
    <!--项目描述-->
    <description>jicheng</description>
    <developers></developers>
    <licenses></licenses>
    <organization></organization>
    <dependencies>
        <dependency>
            <groupId></groupId>
            <artifactId></artifactId>
            <version></version>
            <type></type>
            <scope></scope>
            <!--设置依赖是否可选-->
            <optional></optional>
            <!--排除依赖传递的列表-->
            <exclusions>
                <exclision>
                    
                </exclision>
            </exclusions>
        </dependency>
    </dependencies>
    <!--依赖的管理-->
    <dependencyManagement>
        <dependencise>
            <dependency>
                主要定义在父亲模块
            </dependency>
        </dependencise>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId></groupId>
                <artifactId></artifactId>
                <version></version>
            </plugin>
        </plugins>
    </build>

    <!--主要聚合多个子模块,可以定义多个模块,然后一起编译-->
    <modules>
        <module></module>
    </modules>

九、依赖问题

  • 每次如果要想本地仓库安装自己的包的话,要先运行package,然后再进行install,其实这两个命令是属于同一个声明周期的,不知道为什么,我本地就是安装不上。
  • 依赖冲突的问题:
      1、 短路优先:A->B->C->X(jar);A->D->X(jar) 
      2、 先声明先优先

© 著作权归作者所有

共有 人打赏支持
心中的理想乡

心中的理想乡

粉丝 23
博文 76
码字总数 104605
作品 0
深圳
程序员
私信 提问
曾经也是菜鸟的程序猿?看完后跟我犯过同样错的人,请会心一笑

你是否还记得曾经的作为程序猿的菜鸟的你?你是否也曾犯过这样的错?跟我今天犯过同样错的你,请会心一笑。看完这囧事。 今天跟着尚学堂饿的马士兵老师学习JAVASE,跟着马老师做一个坦克大战...

明舞
2012/07/30
1K
16
maven搭建多模块企业级项目

首先,前面几次学习已经学会了安装maven,如何创建maven项目等,最近的学习,终于有点进展了,搭建一下企业级多模块项目。 好了,废话不多说,具体如下: 首先新建一个maven项目,pom.xml的文...

无信不立
2014/12/25
0
0
将J2EE开发平台迁移到MAC上的日志及心得(一)-eclipse svn相关

最近因为工作关系,决定买一台性能更高的笔记本,工作生活两不误。被周围的人影响,尤其是妻子的建议(她不是ITer),最终买了macbook pro。 相信每个开发者面对macbook都是又爱又恨,对性能...

nick_chen
2013/03/25
0
0
【OpenCV】树莓派和Ubuntu遇到的OpenCV运行问题

正文之前 今天终于可以畅快的玩玩传说中的OpenCV了。。。美滋滋!! 但是!! 此处敲桌!!我太天真了!人人谈之色变的OpenCV怎么可能这么容易被我得手呢?!!不存在的!! 正文 实战中遇到...

HustWolf
2018/05/27
0
0
wggorking/xqsight

ace spring mybatis shiro 后台管理框架 test 大家学习和接单的有力武器,支持代码生成。 兼容IE8及以上浏览器。支持前后端分离,使用jsonp处理跨域请求。 js文件使用闭包模块化开发,便于修...

wggorking
2016/10/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

产品分析感悟

我终于写完了我的第一份产品分析,按理说,内心应该很高兴才对,但是并没有,我此刻心情很沉重。 好吧,我全交代。。。 在这写篇文章之前,我仿佛打了鸡血般,以为自己打开了新的知识大门,我...

铸剑为犁413
9分钟前
1
0
如何使用less实现随机下雪动画详解

冬天来了,设计师说摇摇乐的场景需要随机下落的雪花动画,第一时间就想到的方法是canvas比较好,项目非常紧急,然而小程序对canvas支持不够友好,容易在项目中出现无法预估的兼容性问题 ,马...

前端小攻略
16分钟前
0
0
一个程序员的成长之路(转)

转自全民直播CTO张云龙讲述的一个程序员的成长之路,觉得有一定的借鉴性,分享一下。 https://github.com/fouber/blog/issues/41

酷沃
16分钟前
1
0
https

进入阿里云域名后台,修改DNS为阿里云官方DNS(默认为官方),然后点击“免费开启SSL证书” 点击“申请”、“验证”并等待签发 然后根据自己的服务器类型下载对应的证书 我使用的是lnmpa工具...

临江仙卜算子
42分钟前
0
0
Quartz监听器Listerner

概述 Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知。Quartz监听器主要有JobListener、TriggerListener、SchedulerListener三种,顾名思义,分别表示任务、...

大笨象会跳舞吧
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部