终于可以记录了,呵呵~(maven视屏学习记)
终于可以记录了,呵呵~(maven视屏学习记)
心中的理想乡 发表于5个月前
终于可以记录了,呵呵~(maven视屏学习记)
  • 发表于 5个月前
  • 阅读 15
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 看了很多,用了很多,可是就是记不住。最近发现一个规律:自己会慢慢吃下一个曾经感觉很高大上的工具使用(狗屁规律啊,喂!)。就是这样进行着装逼的技术生活,哈哈哈。曾经在铁路局,最后的时候,罗尼玛把整个工程迁移到了maven,那个时候首次接触maven,感觉很高大上,很下不了手去学习。如今已经用烂了,看了很多,可是没有系统的把学习的东西记录下来过,所以总感觉没有沉淀。这回打算完成一个动作。

##一、下载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、 先声明先优先
共有 人打赏支持
粉丝 3
博文 63
码字总数 48880
×
心中的理想乡
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: