码迷,mamicode.com
首页 > 其他好文 > 详细

Hello Maven 2 - 坐标和依赖

时间:2015-03-06 15:35:22      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

Maven的坐标元素有groupId,artifactId,version,packaging,classifier
文件名和坐标相对应artifactId-version [-classifier] .packaging

依赖可声明的属性
groupId
artifactId
version
type
scope
    compile - 默认的依赖范围,对编译、测试、运行三种classpath都有效
    test - 测试依赖范围,只对测试classpath有效
    runtime - 与测试和运行classpath有效
    provided - 对编译和测试classpath有效,典型的比如servlet-api运行时容器会提供
    system - 对classpath的影响和provided一样,但是所以来的jar要通过systemPath指定,而不是通过中央仓库

        <dependency>
            <groupId>javax.sql</groupId>
            <artifactId>jdbc-stdext</artifactId>
            <version>2.0</version>
            <scope>system</scope>
            <systemPath>${java.home}/lib/rt.jar</systemPath> <!-- 可以引用环境变量 -->
        </dependency>

    import - 不会对三种classpath有影响


optional - 可选依赖,不会被传递。不推荐使用,不符合单一职责设计
exclusions - 排除某些传递依赖

依赖调解
当传递依赖同一个资源的不同版本时,maven会解析传递路径最短的资源,如果路径长度一样,则声明顺序靠前的资源被解析

优化依赖
利用如下命令分析依赖
mvn dependency:list
mvn dependency:tree
mvn dependency:analyze

Hello Maven 2 - 坐标和依赖

标签:

原文地址:http://www.cnblogs.com/idel/p/4318280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!