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

  • 相关阅读:
    innotop 安装和使用
    Waiting for table flush 的原因及处理方法
    input 在 chrome 下 , 自动填充后,默认样式清除
    小米WiFi放大器出现黄灯闪烁,无法使用处理方法
    Error writing file '/tmp/MLLGyECY' (Errcode: 28
    org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: tcp://192.168.120.22:61616
    Apache-Tomcat-Ajp漏洞(CVE-2020-1938)漏洞复现 和处理
    Spring boot CommandLineRunner接口使用例子
    interface21
    interface21
  • 原文地址:https://www.cnblogs.com/zhlblogs/p/13074355.html
Copyright © 2011-2022 走看看