• 使用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仓库中引用依赖)

  • 相关阅读:
    Devrama Slider
    全栈开发必备的10款 Sublime Text 插件
    经典网页设计:使用颜色滤镜效果的20个网站
    Nibbler – 免费的网站测试和指标评分工具
    使用 HTML5 Canvas 绘制出惊艳的水滴效果
    Qt4 和 Qt5 模块的分类
    设计Qt风格的C++API
    Qt属性系统
    Qt实现艺术字效果
    Qt中容器类应该如何存储对象(最好使用对象指针类型,如:QList<TestObj*>,而不要使用 QList<TestObj> 这样的定义,建议采用 智能指针QSharedPointer)
  • 原文地址:https://www.cnblogs.com/zhlblogs/p/13074355.html
Copyright © 2020-2023  润新知