文档章节

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

心中的理想乡
 心中的理想乡
发布于 2017/08/14 00:50
字数 1003
阅读 20
收藏 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、 先声明先优先

© 著作权归作者所有

共有 人打赏支持
心中的理想乡
粉丝 13
博文 72
码字总数 76213
作品 0
深圳
程序员
maven搭建多模块企业级项目

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

无信不立
2014/12/25
0
0
wggorking/xqsight

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

wggorking
2016/10/13
0
0
【OpenCV】树莓派和Ubuntu遇到的OpenCV运行问题

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

HustWolf
05/27
0
0
将J2EE开发平台迁移到MAC上的日志及心得(一)-eclipse svn相关

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

nick_chen
2013/03/25
0
0
[ Linux 基本命令 001 ] 登陆,登出,重启,关机

最近对Ubuntu比较感兴趣,装了服务器版玩玩,结果发现年纪大了回忘事,Llinux命令无数,偏偏条条大路通罗马,一些常用的操作有无数的方法实现,俗话说好记性不如烂笔头,记录些自己觉得符合自...

seanking
2016/07/12
35
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里开源的 java 诊断工具—— Arthas

Arthas 是 阿里巴巴最近开源出来的一个针对 java 的工具,主要是针对 java 的问题进行诊断! 一、概述 这个工具可以协助你做下面这些事情: 这个类是从哪个 jar 包加载而来的? 为什么会报各...

xiaomin0322
20分钟前
1
0
去除shell read 读取的最后一个字符

# 读取管道数据cat | while read line; do echo $line # 此时 line包含 \n or \r\ndone# 去除 read 读取的特殊字符line=${line%?} # 去除最后一个字符...

tigerBin
21分钟前
1
0
Qt之listView设置编辑状态

QListView默认是可以编辑的,可以用setEditTrigers设置QListView的条目是否可以编辑,以及如何进入编辑状态。比如: ui->listView->setEditTriggers(QAbstractItemView::DoubleClicked | QAb...

OceanStar
21分钟前
1
0
Linux批量替换

sed -i "s/http://cache.co188.com///image.co188.com/g" grep http:\/\/image.co188.com -rl . *.html sed -i "s/http://cache.co188.com///cache.co188.com/g" grep http:\/\/cache.co188.......

cpaku
31分钟前
1
0
设置plsql永久注册码

填写注册码: Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number:601769 password:xs374ca...

小橙子的曼曼
36分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部