[jira] [Comment Edited] (BAHIR-159) Our project needs to use org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency conflict problem.
[ https://issues.apache.org/jira/browse/BAHIR-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363413#comment-16363413 ] PandaMonkey edited comment on BAHIR-159 at 2/14/18 2:55 AM: [~luciano resende], Thx for you quick reply and positive suggestion. This conflicts actually introduced by commons-configuration 1.6, and I found that commons-configuration realized thes conflicts and fix it in its new version! In fact, it is innovated to a great extent in terms of dependencies. :) was (Author: pandamonkey): [~luciano resende], Thx for you quick reply and positive suggestion. This conflicts actually introduced by commons-configuration 1.6, and I found that commons-configuration realized thes conflicts and fix it in his new version! In fact, it is innovated to a great extent in terms of dependencies. :) > Our project needs to use > org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency > conflict problem. > - > > Key: BAHIR-159 > URL: https://issues.apache.org/jira/browse/BAHIR-159 > Project: Bahir > Issue Type: Bug > Components: Spark Streaming Connectors >Affects Versions: Spark-2.2.0 >Reporter: PandaMonkey >Assignee: Luciano Resende >Priority: Major > Fix For: Spark-2.2.1, Spark-2.3 > > > Hi, our project needs to use > org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency > conflict problem leading to *NoSuchMethodError*. There are duplicate classes > in the different JARs : > and , > and the same problem exists in JAR pair: > <*com.sun.jersey:jersey-core*:1.9:><*javax.ws.rs:javax.ws.rs-api*:2.0.1:>. > Unfortunately, these duplicate classes have different features. As the JVM > only load the classes present first on the classpath and shadow the other > duplicate ones. This is the main reason why our program crashed. So we spend > some efforts to analyze the source code. The conflict information is shown > below. Please notice that. > > 1. Risk for > jar-pair: > a) Methods that only exist in > commons-beanutils:commons-beanutils-core:1.8.0:: > [neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0:->org.apache.spark:spark-sql_2.11:2.2.0:->org.apache.spark:spark-core_2.11:2.2.0:->org.apache.hadoop:hadoop-client:2.6.5:->org.apache.hadoop:hadoop-common:2.6.5:->commons-configuration:commons-configuration:1.6:->commons-beanutils:commons-beanutils-core:1.8.0:] > {color:#d04437} getMap()>{color} > {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color} > {color:#d04437} getCacheFast(java.util.Map)>{color} > {color:#d04437} createCache()>{color} > {color:#d04437} setCacheFast(java.util.Map,boolean)>{color} > {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color} > {color:#d04437} java.lang.reflect.Method getInitCauseMethod()>{color} > {color:#d04437} (org.apache.commons.beanutils.ConvertUtilsBean)>{color} > {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437} org.apache.commons.beanutils.Converter > lookup(java.lang.Class,java.lang.Class)>{color} > {color:#d04437} registerStandard(boolean,boolean)>{color} > {color:#d04437} register(boolean,boolean,int)>{color} > {color:#d04437} registerPrimitives(boolean)>{color} > {color:#d04437} registerOther(boolean)>{color} > {color:#d04437} registerArrays(boolean,int)>{color} > {color:#d04437} registerArrayConverter(java.lang.Class,org.apache.commons.beanutils.Converter,boolean,int)>{color} > {color:#d04437} org.apache.commons.beanutils.Converter > lookup(java.lang.Class,java.lang.Class)>{color} > {color:#d04437} java.lang.Object convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437} hashCode()>{color} > {color:#d04437} equals(java.lang.Object)>{color} > {color:#d04437} getColumnName(java.lang.String)>{color} > {color:#d04437} getObject(java.sql.ResultSet,java.lang.String)>{color} > {color:#d04437} org.apache.commons.logging.Log logger()>{color} > {color:#d04437} getMap()>{color} > {color:#d04437} java.lang.reflect.Method > internalGetMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437} java.lang.Class[] access$100()>{color} > {color:#d04437} java.lang.reflect.Method > getMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437} java.lang.reflect.Method > getMethod(java.lang.Class,java.lang.String,java.lang.Class[])>{color} > {color:#d04437} java.lang.reflect.Method > getAccessibleMethod(java.lang.Class,java.lang.reflect.Method)>{color} > {color:#d04437} java.lang.reflect.Method > getCachedMethod(org.apache.commons.beanutils.Met
[jira] [Comment Edited] (BAHIR-159) Our project needs to use org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency conflict problem.
[ https://issues.apache.org/jira/browse/BAHIR-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363413#comment-16363413 ] PandaMonkey edited comment on BAHIR-159 at 2/14/18 2:55 AM: [~luciano resende], Thx for you quick reply and positive suggestion. This conflicts actually introduced by commons-configuration 1.6, and I found that commons-configuration realized thes conflicts and fix it in its newer version! In fact, it is innovated to a great extent in terms of dependencies. :) was (Author: pandamonkey): [~luciano resende], Thx for you quick reply and positive suggestion. This conflicts actually introduced by commons-configuration 1.6, and I found that commons-configuration realized thes conflicts and fix it in its new version! In fact, it is innovated to a great extent in terms of dependencies. :) > Our project needs to use > org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency > conflict problem. > - > > Key: BAHIR-159 > URL: https://issues.apache.org/jira/browse/BAHIR-159 > Project: Bahir > Issue Type: Bug > Components: Spark Streaming Connectors >Affects Versions: Spark-2.2.0 >Reporter: PandaMonkey >Assignee: Luciano Resende >Priority: Major > Fix For: Spark-2.2.1, Spark-2.3 > > > Hi, our project needs to use > org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0, which has dependency > conflict problem leading to *NoSuchMethodError*. There are duplicate classes > in the different JARs : > and , > and the same problem exists in JAR pair: > <*com.sun.jersey:jersey-core*:1.9:><*javax.ws.rs:javax.ws.rs-api*:2.0.1:>. > Unfortunately, these duplicate classes have different features. As the JVM > only load the classes present first on the classpath and shadow the other > duplicate ones. This is the main reason why our program crashed. So we spend > some efforts to analyze the source code. The conflict information is shown > below. Please notice that. > > 1. Risk for > jar-pair: > a) Methods that only exist in > commons-beanutils:commons-beanutils-core:1.8.0:: > [neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.bahir:spark-sql-streaming-mqtt_2.11:2.2.0:->org.apache.spark:spark-sql_2.11:2.2.0:->org.apache.spark:spark-core_2.11:2.2.0:->org.apache.hadoop:hadoop-client:2.6.5:->org.apache.hadoop:hadoop-common:2.6.5:->commons-configuration:commons-configuration:1.6:->commons-beanutils:commons-beanutils-core:1.8.0:] > {color:#d04437} getMap()>{color} > {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color} > {color:#d04437} getCacheFast(java.util.Map)>{color} > {color:#d04437} createCache()>{color} > {color:#d04437} setCacheFast(java.util.Map,boolean)>{color} > {color:#d04437} initCause(java.lang.Throwable,java.lang.Throwable)>{color} > {color:#d04437} java.lang.reflect.Method getInitCauseMethod()>{color} > {color:#d04437} (org.apache.commons.beanutils.ConvertUtilsBean)>{color} > {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437} convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437} org.apache.commons.beanutils.Converter > lookup(java.lang.Class,java.lang.Class)>{color} > {color:#d04437} registerStandard(boolean,boolean)>{color} > {color:#d04437} register(boolean,boolean,int)>{color} > {color:#d04437} registerPrimitives(boolean)>{color} > {color:#d04437} registerOther(boolean)>{color} > {color:#d04437} registerArrays(boolean,int)>{color} > {color:#d04437} registerArrayConverter(java.lang.Class,org.apache.commons.beanutils.Converter,boolean,int)>{color} > {color:#d04437} org.apache.commons.beanutils.Converter > lookup(java.lang.Class,java.lang.Class)>{color} > {color:#d04437} java.lang.Object convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437} hashCode()>{color} > {color:#d04437} equals(java.lang.Object)>{color} > {color:#d04437} getColumnName(java.lang.String)>{color} > {color:#d04437} getObject(java.sql.ResultSet,java.lang.String)>{color} > {color:#d04437} org.apache.commons.logging.Log logger()>{color} > {color:#d04437} getMap()>{color} > {color:#d04437} java.lang.reflect.Method > internalGetMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437} java.lang.Class[] access$100()>{color} > {color:#d04437} java.lang.reflect.Method > getMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437} java.lang.reflect.Method > getMethod(java.lang.Class,java.lang.String,java.lang.Class[])>{color} > {color:#d04437} java.lang.reflect.Method > getAccessibleMethod(java.lang.Class,java.lang.reflect.Method)>{color} > {color:#d04437} java.lang.reflect.Method > getCachedMethod(org.apache.commons.beanutils.M