zoukankan      html  css  js  c++  java
  • Maven理解

    笔记原本记录在有道或者印象笔记上,为了方便,现将部分笔记摘抄至随笔,以供日后参考。

    有些自己总结的部分内容可能不太正确,希望明白的可以为我指出,谢谢!

    goal理解

    install:将项目打包并放入用户的maven本地仓库(在setting中设置)文件夹中,install中包含了package

    clean:清除上次操作产生的文件 package:打包,放入target目录下

    compile:编译,下载jar包,生成class等

    在打包或编译前最好clean一下。

    对于常用的properties可以在开始时定义在properties标签内,通过${name}取用

    对于setting.xml的理解:

    对于多用户的pc而言,maven安装目录下的setting.xml是真正的全局配置文件,而每个用户的.m2目录下的setting.xml只是针对当前用户。

    两个同时存在时以每个用户单独的setting.xml为准。

     

    setting.xml文件中的标签理解:

    localRepository:用于指定本地库的地址

    MirrorOf:该镜像可以匹配哪些仓库,不配置的时候默认为central中央库

    MyEclipse中两个src文件夹的理解:

    本地文件实际存放的是资源文件夹,下部的src创建的文件(包括main和test)实质上都是创建在上部的main资源文件夹内?。

    一个是专门用于作为类的目录:资源文件夹

    另一个是作为web资源的根目录:普通文件夹,摆设(希望有人为我解答一下)

    设置项目facts,更改根路径为src下的webapp并且将webapp设置为资源文件夹,否则打包时无法将jsp等文件打包进去。

    pox.xml中的重要标签:

    <build>:包括了编译期间的设置。其中的sources及其子标签source是为了方便用户自己定义额外的资源文件目录。source的includes和excludes分别表示过滤条件(包含和不包含),filtering表示是否开启占位符替换

    <profile>:根据不同的配置打包,可以在打包时显式指定,profile可以包括大部分pom中存在的元素并进行覆盖。通过<activation>可以设置基本的触发条件(jdk,os等)

        通过设置properties替换文件中的值,需要在build中开启filtering启动占位符替换功能。在springboot中的占位标志为@name@,单独的maven占位标志为${name}

    Maven的聚合

    父子拥有继承关系时,父项目打包方式必须声明为pom。一般来说父项目只需要一个空壳,保留pom.xml即可。所有公用的配置项均可以在父项目的pom.xml中集中配置,会自动继承到模块项目中去。

    需要直接强制继承的依赖和插件可以直接在parent的pom中声明为<dependencies>  、<plugins>等。此时声明的部分在子项目中一定会存在。

    不需要强制继承,只需要在子项目使用时管理插件和依赖版本等功能时,可以在标签外部使用<dependencyManagement>、<pluginManagement>。(软性声明)

    项目间互相依赖,在打包时会引用其他模块或项目的资源:同引入jar包依赖一样,引入其他项目(可能存在其他项目未打包的情况,需要先打包)。type标签用于表明此依赖的类型。

    与坚持梦想者同行
  • 相关阅读:
    hibernate入门
    struts文件上传
    Struts的增删改查
    struts入门
    Maven配置以及环境搭配
    layui增删改查
    easyui三
    A
    C. Permutation Cycle
    E
  • 原文地址:https://www.cnblogs.com/ForsakenCoder/p/9563220.html
Copyright © 2011-2022 走看看