精华内容
下载资源
问答
  • maven版本冲突解决

    2021-01-13 16:24:40
    例如将Project B集成到Project A上,Project B这部分的代码始终跑不过,不是跳出来找不到某个就是在中又找不到某个方法,但是去本地依赖jar包对应版本查看的时候又是有这个方法或者是的。如果你仔细跟代码就会...

    maven多版本冲突解决

    以下将以fabric-sdk-java依赖jar包进行说明。例如将Project B集成到Project A上,Project B这部分的代码始终跑不过,不是跳出来找不到某个类就是在类中又找不到某个方法,但是去本地依赖jar包对应版本查看的时候又是有这个方法或者是类的。如果你仔细跟代码就会发现Project B依赖jar包版本并不是自身依赖的版本,而是跳转到了Project A所依赖的jar包版本去了。依赖相同版本不相同,所以有少部分的类或者方法是有出入的。而我所遇到的就是Project B所依赖fabric-sdk-java的jar包里面又依赖了其他的jar包,而依赖的这个jar包有些依赖的版本和Project A依赖的一些jar包产生冲突,具体解决办法看下面。
    

    解决办法:

    • 使用exclusion将冲突的版本给剔除掉。

      • 这个大多只适用于一个project下进行操作。在两个版本都不影响工程的情况下剔除一个版本即可。
    • 使用maven-shaded-plugin进行全依赖打包。

      • 这种情况适用于不同的工程运用相同依赖的不同版本。比如:在project A中依赖了某个版本的netty-all.1.4.17.jar,而fabric依赖的是nettty-all.1.4.43.jar。这个时候两个版本都不能剔除,剔除了版本1.4.17则projectA跑不起来,剔除了1.4.43版本则fabric也会出问题,这个时候就需要对fabric进行重定向打包了,具体步骤如下。

      • 步骤1:在git全局搜索fabric-sdk-java,会跳出来hyperledger/fabric-sdk-java,具体依赖具体而定。

      • 步骤2:点击进去选取你想要的版本并将源码克隆下来。

      • 步骤3:在pom文件里面添加maven-shade-plugins相关代码,如下。

           <build>
             <plugins>
             	     <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-shade-plugin</artifactId>
                        <version>3.2.1</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>shade</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
             </plugins>
           </build>
        
      • 步骤4:打包(1. 如果是idea则在右侧maven工程下对应plugins会有一个shade:shade,点击即可打包。2.其他则在控制运行mvn clean package命令进行打包即可)。

      • 注意:如果对fabric-sdk-java进行依赖打包,运行项目还会报找不到某个类或者方法,那就对这个类或者方法相关的包进行重定向即可,相关参考代码如下。

         <build>
             <plugins>
             	     <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-shade-plugin</artifactId>
                        <version>3.2.1</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>shade</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <filters>
                                <filter> //过滤掉一些重复的依赖
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude> 
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                              </filter>
                            </filters>
                            <createDependencyReducedPom>true</createDependencyReducedPom>
                            <relocations>   
                                <relocation>
                                <pattern>org.bouncycastle</pattern> //将包名进行从定向
                                <shadedPattern>shaded.org.bouncycastle</shadedPattern>
                            </relocation>
                            <relocation>
                                <pattern>com.google.protobuf</pattern>
                                <shadedPattern>shaded.com.google.protobuf</shadedPattern>
                            </relocation>
                            <relocation>
                                <pattern>io.netty</pattern>
                                <shadedPattern>shaded.io.netty</shadedPattern>
                            </relocation>
                            </relocations>
                        </configuration>
                    </plugin>
             </plugins>
           </build>
        
      • 注意:将io.netty重定向过后,控制台可能会报在META-INF/native会报找不到shade_netty_tcnative_windows_x86_64.dll的库文件,对于这种情况直接进入依赖包对应的META-INF/native路径将.dll后缀的库文件修改为对应的库文件即可。比如netty_tcnative_windows_x86_64.dll改为shade_netty_tcnative_windows_x86_64.dll。没有则跳过。

    展开全文
  • Maven依赖冲突详解

    2020-12-30 17:43:46
    由于引用版本的不同所以会经常抛出一些找不到方法,找不到类的异常。 举个例子,A依赖于B与C,B依赖于D的1.0版本,C依赖于D的2.0版本,这就导致加载的时候到底会引入那个版本的jar包的问题。 画个图吧,清晰一些。 ...

    Maven依赖冲突详解

    什么是依赖冲突

    依赖冲突就是指项目依赖于同一种jar包的不同版本。
    依赖冲突产生原因都是由于类包之间的间接依赖造成的。就是每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突。
    由于引用版本的不同所以会经常抛出一些找不到方法,找不到类的异常。

    举个例子,A依赖于B与C,B依赖于D的1.0版本,C依赖于D的2.0版本,这就导致加载的时候到底会引入那个版本的jar包的问题。
    画个图吧,清晰一些。
    在这里插入图片描述

    查看依赖冲突

    命令方式查看

    检测包冲突工具
    mvn dependency:help
    mvn dependency:analyze
    mvn dependency:tree
    mvn dependency:tree -Dverbose
    

    官网参数详解:Plugin Documentation
    官网参数详解:dependency:tree

    idea插件Maven Helper

    插件的方式比较常用,方便直观。

    Maven Helper安装

    安装有两种方式:在线与离线

    1. 在线安装
      这个比较简单,但是经常出问题安装失败,直接上个图吧。不懂自行百度。
      IDEA设置:已打开软件:File–> Setting–>Plugins
      未打开IDEA内:Configure --> Project Defaults --> Settings–>Plugins
      在这里插入图片描述
    2. 离线安装

    首先官网下载离线插件
    官网地址:http://plugins.jetbrains.com/
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    Maven Helper使用
    参数
      Conflicts(查看冲突)
      All Dependencies as List(列表形式查看所有依赖)
      All Dependencies as Tree(树形式查看所有依赖)
      
    冲突jar包的解决,当存在冲突时,会报红。
    

    在这里插入图片描述

    解决依赖冲突

    前面都是准备工作,最重要的还是为了解决依赖冲突。

    1. 依赖范围
      如果不显示执行 属性时,默认 compile。
      scope 有哪些属性:compile, provided, runtime, test, system 等。
      详细参考:依赖范围

    2. 一般高版本兼容低版本,去掉低版本

    3. 子模块分别依赖。

    参考:
    Maven依赖冲突的产生原因和解决方式
    Maven 3-Maven依赖版本冲突的分析及解决小结
    maven依赖冲突以及解决方法

    展开全文
  • IDEA解决maven冲突

    2020-10-27 11:34:29
    原因:工程中引入了一个需要的依赖,但工程中其他依赖的包内部也可能会有相同的依赖,如果版本不同maven可能取了一个低的版本,然后可能造成某个类找不到。 比如: 在工程中引入了easypoi jar,要使用Excel导出功能...

    maven包冲突虽然在工作遇到不是特别多,但是遇到了也是很挠头的,下面介绍一种解决方式,妈妈再也不用担心我的maven冲突了。

    包冲突显现出来的问题有:某些类找不到。
    原因:工程中引入了一个需要的依赖,但工程中其他依赖的包内部也可能会有相同的依赖,如果版本不同maven可能取了一个低的版本,然后可能造成某个类找不到。
    比如:
    在工程中引入了easypoi jar,要使用Excel导出功能。

    <dependency>
     <groupId>cn.afterturn</groupId>
     <artifactId>easypoi-spring-boot-starter</artifactId>
     <version>4.1.2</version>
    </dependency>
    上述jar 内部依赖 apache-poi 版本 4.1.0
    <dependency>
     <groupId>org.apache.poi</groupId>
     <artifactId>poi</artifactId>
     <version>4.1.0</version>
    </dependency>
    

    我的工程中有个公司的公用的jar,内部依赖了apache-poi 3.x
    编写代码时没问题,运行调用相关接口报错如下
    java.lang.NoClassDefFoundError: org/apache/poi/hssf/util/HSSFColor$HSSFColorPredefined

    org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/poi/hssf/util/HSSFColor$HSSFColorPredefined
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at cn.huimin100.account.manager.main.filters.RequestWrapperFilter.doFilterInternal(RequestWrapperFilter.java:24)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
    

    发现找不到是个内部类,搜索主类发现主类所在的jar版本为3.9而不是4.1.0,这就是jar版本冲突造成的问题。

    解决步骤:

    1.在IDEA中右键项项目的pom文件,选择Maven->Show Dependencies,会打开一个maven的依赖树窗口,如下:
    在这里插入图片描述

    2.打开窗口我们可以看到完整的依赖树,小技巧:左上角有几个小工具,比较常用的1显示冲突项,2显示从root到被选择的jar包路径,3显示实际大小。要选择冲突项的话可以直接点击1,然后在点击3,显示的会更清楚一些,因为jar包比较多,jar依赖比较复杂会让图变得很小。之后如果你需要看这个jar的引用路径可以点击这个jar包再点击2,就回显示从pom文件的根路径的包到被选择的包的单条路线,很方便;
    在这里插入图片描述

    3.找到冲突的包后,选择需要的那个jar包,右键要去除的那个jar包,点击exclude。
    红色虚线代表冲突,而且标了相应版本。
    在这里插入图片描述

    就会在pom文件中被剔除(就是对应的pom中的exclusion)
    在这里插入图片描述

    重启,调用,正常。这样,就解决了jar版本冲突问题。

    展开全文
  • 第一步判断jar是否加载,还是 加载的jar由于maven依赖管理存在传递依赖,造成依赖的jar版本号不对,相应的类找不到,或者是相应类版本不对,没有对应的方法。一 造成jar 冲突的原因:如果项目中存在对同一jar不同版本...

    项目中,经常会遇到ClassNotFound,NoSuchMethod异常,第一反应往往是类路径不对,jar没有正确的引用。第一步判断jar是否加载,还是 加载的jar由于maven依赖管理存在传递依赖,造成依赖的jar版本号不对,相应的类找不到,或者是相应类版本不对,没有对应的方法。

    一 造成jar 冲突的原因:如果项目中存在对同一jar不同版本依赖的时候,maven 2根据最近原则,默认引用最靠近项目版本的jar,maven 2.0.9会根据最先声明原则 来引用相应版本的jar;无论那种方式,都会出现jar包冲突。在这里提一下gradle依赖,会依赖最新版本的jar。

    二 判断jar是否正确的被引用 有两种方法:

    1在项目启动时加上VM参数:-verbose:class

    项目启动的时候会把所有加载的jar都打印出来 类似如下的信息:

    classpath加载的jar

    -classpath /home/yao/tool/jdk1.8.0_25/jre/lib/jce.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/resources.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/management-agent.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/jfxswt.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/plugin.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/javaws.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/charsets.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/jsse.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/deploy.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/jfr.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/ext/localedata.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/ext/nashorn.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/ext/jfxrt.jar:

    /home/yao/tool/jdk1.8.0_25/jre/lib/ext/sunjce_provider.jar:

    ...............等等

    具体load的类

    [Loaded java.lang.Object from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.io.Serializable from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.Comparable from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.CharSequence from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.String from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.reflect.AnnotatedElement from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.reflect.GenericDeclaration from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.reflect.Type from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    [Loaded java.lang.Class from /home/yao/tool/jdk1.8.0_25/jre/lib/rt.jar]

    ..................等等

    我们可以通过上面的信息查找对应的jar是否正确的被依赖,具体类加载情况,同时可以看到版本号,确定是否由于依赖冲突造成的jar引用不正确;

    2 通过maven自带的工具:‍‍mvn dependency:tree

    具体后面可以加 -Dverbose 参数 ,详细参数可以去自己搜,这里不详细介绍。

    比如分析如下POM

    运行: mvn dependency:tree -Dverbose

    org.apache.poi

    poi

    3.2-FINAL

    commons-beanutils

    commons-beanutils

    1.7.0

    输出结果:

    [INFO] ------------------------------------------------------------------------

    [INFO]

    [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ Dependency ---

    [INFO] com.yao:Dependency:pom:1.0-SNAPSHOT

    [INFO] +- org.apache.poi:poi:jar:3.2-FINAL:compile

    [INFO] | +- commons-logging:commons-logging:jar:1.1:compile

    [INFO] | | \- log4j:log4j:jar:1.2.13:compile

    [INFO] | \- (log4j:log4j:jar:1.2.13:compile - scope updated from runtime; omitted for duplicate)

    [INFO] \- commons-beanutils:commons-beanutils:jar:1.7.0:compile

    [INFO] \- (commons-logging:commons-logging:jar:1.0.3:compile - omitted for conflict with 1.1)

    [INFO] ------------------------------------------------------------------------

    通过里面的信息可以看到 两个jar都commons-logging存在依赖,但是版本不同。里面的详细信息显示引用了 commons-logging:commons-logging:jar:1.1 去掉了commons-logging:commons-logging:jar:1.0.3 (omitted for duplicate)。

    通过以上方法我们可以看到项目中引用jar版本号;接下来就是如何排除掉我们不想要版本的jar;

    三 通过Idea intellij 中的Show Dependencies的工具去除重复的jar

    在Pom.xml文件上右击 选择 Diagrams -> Show Dependencies 即可查看Pom的依赖图,通过图可以很容易的看到依赖冲突的jar,exculude掉不想要的版本jar即可。

    展开全文
  • maven引入冲突的包

    2019-12-10 17:09:27
    日常开发中经常会遇到xxx.class 找不到的异常,但是这个确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题 冲突问题 比如项目中引用了两个 fastjson.jar的版本,分别为 fastjson:1.2.28 fastjson:...
  • 多模块项目开发Maven依赖Jar包不存在解决办法2 包括poi版本冲突问题问题情景解决方案第一步第二步第三步(示例 下载过程)第二步第三步第四步Poi版本不统一找不到某个 千万不要踩2020版本Idea的坑 是真的坑 我已经...
  • idea 中解决maven冲突的问题(maven helper)

    万次阅读 多人点赞 2017-08-19 01:14:32
    日常开发中经常会遇到xxx.class 找不到的异常,但是这个确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题冲突问题比如项目中引用了两个 fastjson.jar的版本,分别为fastjson:1.2.28 fastjson:1.2.3...
  • 这样很容易导致jar包冲突,从而产生一些诡异问题,如版本问题导致的、方法找不到等。下面我们将聊聊具体关于依赖冲突产生的原因、排查方式以及解决的方案。依赖传递的概念举个简单例子,比如一个多模块项目依赖...
  • 1.报 某些类找不到.  1.1:使用的jar包没有导入,进入导入的maven库排查。添加jar包依赖。  1.2:使用的jar包中已经导入,但是在其他jar中,由于依赖其低版本,导致jar包。在导入的maven库下可以清晰的考到...
  • idea中使用maven打包项目时出现符号找不到 写毕业设计的时候所有代码都写完后,打包项目时出现 request符号找不到 被这个问题困扰了很多天 而且只有新编写的才会出现这个问题,之前的老版本打包都没什么问题 ...
  • 找来找去还找不到很是烦人。那么所谓的JAR包冲突是指的什么那?JAR包冲突就是-引入的同一个JAR包却有好几个版本。 例如:  项目中引用了两个 fastjson.jar的版本,分别为:fastjson:1.2.28、fastjson:1.2.3 说明...
  • 点击上方 "Java指南者"关注,星标或置顶一起成长免费送 1024GB 精品学习资源日常开发中经常会遇到xxx.class 找不到的异常,但是这个确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题冲突问题比如项目...
  • 前言在日常开发的过程中,经常会遇到找不到类文件的异常,但是这个的的确确存在项目中,这称之为包的依赖冲突问题。冲突问题示例项目引入了两个fastjson.jar版本,分别为fastjso...
  • 日常开发中经常会遇到xxx.class 找不到的异常,但是这个确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题 冲突问题 比如项目中引用了两个 fastjson.jar的版本,分别为 fastjson:1.2.28 fastjson:...
  • 点击上方 "Java指南者"关注,星标或置顶一起成长免费送 1024GB 精品学习资源日常开发中经常会遇到xxx.class 找不到的异常,但是这个确实存在我们的项目中,就会感觉很离奇,其实这就是包冲突的问题冲突问题比如项目...
  • java的项目突然允许报错了,找不到java,估计是jar包冲突了 报错信息如下: 解决方法 1.打开pom.xml,如下图可以很容易看到冲突原因 2.右键低版本的jar包,排除即可 3.pom.xml中新增 <dependency> <...
  • 此时会出现很多莫名其妙的问题,什么类找不到啦,方法找不到啦,这种可能的原因就是jar的版本不是我们所设想的版本,但是我们也不知道低版本的jar是从哪个maven里面引用的。此时我们的maven-enforcer-plugin就可以.....
  • 第一步判断jar是否加载,还是 加载的jar由于maven依赖管理存在传递依赖,造成依赖的jar版本号不对,相应的类找不到,或者是相应类版本不对,没有对应的方法。一 造成jar 冲突的原因:如果项目中存在对同一jar不同版本...
  • 这样很容易导致jar包冲突,从而产生一些诡异问题,如版本问题导致的、方法找不到等。下面我们将聊聊具体关于依赖冲突产生的原因、排查方式以及解决的方案。依赖传递的概念举个简单例子,比如一个多模块项目依赖...
  • 此时会出现很多莫名其妙的问题,什么类找不到啦,方法找不到啦,这种可能的原因就是jar的版本不是我们所设想的版本,但是我们也不知道低版本的jar是从哪个maven里面引用的。此时我们的maven-enforcer-plugin就可以.....
  • spark streaming + kafka 找不到kafkaUtils

    千次阅读 2018-07-03 07:51:38
    maven构建streaming+kafka的项目问题:运行项目报找不到KafkaUtils:(如下图)于是我打开idea但确实可以找到这个包下的KafkaUtils,刚开始以为打包的问题,找半天都没错,上网说可能是scala和kafka版本冲突,...
  • 项目之前用的poi的版本是3.9,后来使用easyexcel的时候,出现某些类找不到,这是因为poi.jar包版本冲突导致的,maven会自动使用最高级的版本,而easyexcel是3.1.7,将项目依赖的poi升级到4.1.2就好了。 <poi....
  • 项目之前用的poi的版本是3.9,后来使用easyexcel的时候,出现某些类找不到,这是因为poi.jar包版本冲突导致的,maven会自动使用最高级的版本,而easyexcel是3.1.7,将项目依赖的poi升级到4.1.2就好了。 <poi....
  • 这样很容易导致jar包冲突,从而产生一些诡异问题,如版本问题导致的、方法找不到等。下面我们将聊聊具体关于依赖冲突产生的原因、排查方式以及解决的方案。依赖传递的概念举个简单例子,比如一个多模块项目依赖...
  • maven 插件之maven-enforcer-plugin的使用

    千次阅读 2018-06-26 15:48:43
    此时会出现很多莫名其妙的问题,什么类找不到啦,方法找不到啦,这种可能的原因就是jar的版本不是我们所设想的版本,但是我们也不知道低版本的jar是从哪个maven里面引用的。此时我们的maven-enforcer-plugin就可以...
  • 此时会出现很多莫名其妙的问题,什么类找不到啦,方法找不到啦,这种可能的原因就是jar的版本不是我们所设想的版本,但是我们也不知道低版本的jar是从哪个maven里面引用的。此时我们的maven-enforcer-plugin就可以...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

maven版本冲突类找不到