zoukankan      html  css  js  c++  java
  • 使用maven时用到的一些问题

    1.引用依赖时,出现传递依赖冲突问题,如果是某一个依赖中包含的部分依赖冲突,可以使用<exclusion>标签进行解决

    如:

    <dependency>
                <groupId>com.sgeye</groupId>
                <artifactId>base-framework-web</artifactId>
                <version>${base.version}</version> 
                    <exclusions>
                    <exclusion>
                        <artifactId>base-framework-dal</artifactId>
                        <groupId>cn.wonhigh</groupId>
                        <!-   注意:exclusion标签中不支持version属性   ->
                    </exclusion>
                </exclusions>
     </dependency> 
    

      如何检查依赖是否冲突:https://www.cnblogs.com/shengulong/p/9242027.html,如果只是版本冲突的话启动是不会报错的。

    2.微服务中引用其它子工程时,如果获取不到该工程中的类,则检查pom文件中该依赖的权限范围是否正确

    权限范围详解:

      compile:(编译i范围),默认是compile。表示被依赖的项目需要参与当前项目的编译,后期的测试运行也参与其中,需要参与打包

      test:(测试范围),仅仅参与测试代码的编译、执行

      runtime:(运行时范围),表示被依赖项目无需参与项目的编译,不过后期的测试和运行需要参与

      provided:(已提供范围),表示打包的时候不用打包进去,别的设施会提供。事实上该依赖理论上可以参数编译,测试,运行等周期。但是在打包阶段做了exclude的动作

      system:(系统范围),与provided类似,但是必须显示的提供一个本地系统中jar文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是可以一直使用的,Maven也不会去仓库中去寻找它。如果将一个依赖范围设置为系统范围,必须同时提供一个systemPath元素。注意该范围不推荐使用(应该尽量从公共的或者定制的Maven仓库中引用依赖)

  • 相关阅读:
    hdu5081
    hdu5079
    hdu5076
    hdu5072
    codeforces 739E
    codeforces 739D
    2017.2其他简要题解
    spring事务传播回滚策略
    mybatis一级缓存和二级缓存
    spring-boot-mybatis-starter工作原理
  • 原文地址:https://www.cnblogs.com/zhlblogs/p/13074355.html
Copyright © 2011-2022 走看看