zoukankan      html  css  js  c++  java
  • [maven] 使用问题及思考汇总

    (1)Maven坐标

    maven坐标可以唯一标识一个项目,包含四个元素 groupId , artifactId, packaging, version。
    groupId:一般为团体,公司,项目。如 oceanic
    -web, oceanic-dal, oceanic-biz 同属一个 groupId。 artifactId:在 groupId 下的表示一个单独项目的唯一标识符。项目名称ID/模块名称 。 packaging:标识项目的类型,如 jar,war,pom 等。 version:版本号。

    例子:

    oceanic -web的坐标定义如下:
    groupId: com.oceanic.framework
    artifactId:oceanic-web
    packaging: war
    version:0.0.1-SNAPSHOT
    
    oceanic -dal的坐标定义如下:
    groupId: com.oceanic.framework
    artifactId:oceanic-dal
    packaging: jar
    version:0.0.1-SNAPSHOT
    
    oceanic -biz的坐标定义如下:
    groupId: com.oceanic.framework
    artifactId:oceanic-biz
    packaging: jar
    version:0.0.1-SNAPSHOT

    (2)下载的依赖jar包的存放路径

    /groupId/artifactId/version/artifactId-version.packaging

    (3)在eclipse里配置指向的settings文件

    preference -> Maven -> User Settings -> 选择待导入的settings文件 ->Apply

    (4)解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误

    设置Java Compiler为1.7,同时在项目的pom.xml的<build></build>标签中加入:

    <plugins> 

        <plugin> 

            <groupId>org.apache.maven.plugins</groupId> 

            <artifactId>maven-compiler-plugin</artifactId> 

            <version>2.3.2</version> 

            <configuration> 

                <source>1.7</source> 

                <target>1.7</target> 

            </configuration> 

        </plugin> 

    </plugins>

    (5)全部配置和自定义配置

    Maven安装目录的conf子目录下面的settings.xml是全局配置。

    用户家目录的.m2子目录下面的settings.xml的配置只是针对当前用户的。这个文件一般是不存在的,但是Maven允许我们在这里定义我们自己的settings.xml,如果需要在这里定义我们自己的settings.xml的时候就可以把Maven安装目录下面的settings.xml文件拷贝到用户家目录的.m2目录下,然后改成自己想要的样子。这样,自定义的配置会覆盖全局配置作为maven的配置文件来使用。

    (6)dependencies 和 dependencyManagement  的区别

    dependencies

    即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项。

    dependencyManagement  

    如果在子项目中不写该依赖项,那么子项目中是不会从父项目继承该依赖项的;只有在子项目中写了该依赖项,才会从父项目中继承该项,并且version 和 scope 都读取自 父pom。

    (7)子模块parent节点下的<relativePath/> 节点是什么含义?

    表示父项目的pom.xml文件的相对路径。默认值是../pom.xml。

    查找顺序:

    首先在构建当前项目的地方寻找父项目的pom

    其次在文件系统的指定位置(relativePath)

    然后在本地仓库

    最后在远程仓库寻找父项目的pom

    (8)dependencies  VS  dependencyManagement 

     maven中的 dependencies 和 dependencyManagement 的区别 :前者,即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项。后者,如果在子项目中不写该依赖项,那么子项目中是不会从父项目继承该依赖项的;只有在子项目中写了该依赖项,才会从父项目中继承该项,并且version 和 scope 都读取自 父pom。

    博客:

    Maven学习总结(八)——使用Maven构建多模块项目

    在Eclipse中创建Maven多模块工程的例子

  • 相关阅读:
    GROUP BY 和 ORDER BY一起使用
    MySQL中表的复制以及大型数据表的备份教程
    常用sql
    MySQL 数据类型(float)的注意事项
    MySQL VARCHAR字段最大长度到底是多少
    设计-Int(4)和Int(11)谁更美
    5.Flask-Migrate
    4.alembic数据迁移工具
    3.Flask-SQLAlchemy
    2.Flask jinjia2模板
  • 原文地址:https://www.cnblogs.com/avivaye/p/5336658.html
Copyright © 2011-2022 走看看