[ https://issues.apache.org/jira/browse/BAHIR-159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363413#comment-16363413 ]
PandaMonkey commented on BAHIR-159: ----------------------------------- [~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 : <commons-beanutils:*commons-beanutils-core*:1.8.0:> > and <commons-beanutils:*commons-beanutils*:1.7.0:>, > 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:<commons-beanutils:commons-beanutils-core:1.8.0:><commons-beanutils:commons-beanutils:1.7.0:> > 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}<org.apache.commons.beanutils.BasicDynaBean: java.util.Map > getMap()>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtils: boolean > initCause(java.lang.Throwable,java.lang.Throwable)>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtils: boolean > getCacheFast(java.util.Map)>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtils: java.util.Map > createCache()>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtils: void > setCacheFast(java.util.Map,boolean)>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtilsBean: boolean > initCause(java.lang.Throwable,java.lang.Throwable)>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtilsBean: > java.lang.reflect.Method getInitCauseMethod()>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtilsBean: void > <init>(org.apache.commons.beanutils.ConvertUtilsBean)>{color} > {color:#d04437}<org.apache.commons.beanutils.BeanUtilsBean: java.lang.Object > convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtils: java.lang.Object > convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtils: > org.apache.commons.beanutils.Converter > lookup(java.lang.Class,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: void > registerStandard(boolean,boolean)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: void > register(boolean,boolean,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: void > registerPrimitives(boolean)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: void > registerOther(boolean)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: void > registerArrays(boolean,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: void > registerArrayConverter(java.lang.Class,org.apache.commons.beanutils.Converter,boolean,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: > org.apache.commons.beanutils.Converter > lookup(java.lang.Class,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.ConvertUtilsBean: > java.lang.Object convert(java.lang.Object,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.DynaProperty: int > hashCode()>{color} > {color:#d04437}<org.apache.commons.beanutils.DynaProperty: boolean > equals(java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.JDBCDynaClass: java.lang.String > getColumnName(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.JDBCDynaClass: java.lang.Object > getObject(java.sql.ResultSet,java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.LazyDynaBean: > org.apache.commons.logging.Log logger()>{color} > {color:#d04437}<org.apache.commons.beanutils.LazyDynaMap: java.util.Map > getMap()>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > internalGetMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.Class[] access$100()>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > getMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > getMethod(java.lang.Class,java.lang.String,java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: > java.lang.reflect.Method > getAccessibleMethod(java.lang.Class,java.lang.reflect.Method)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: > java.lang.reflect.Method > getCachedMethod(org.apache.commons.beanutils.MethodUtils$MethodDescriptor)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: int > clearCache()>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: java.lang.Object > invokeStaticMethod(java.lang.Class,java.lang.String,java.lang.Object[],java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: java.lang.Object > invokeExactStaticMethod(java.lang.Class,java.lang.String,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: float > getTotalTransformationCost(java.lang.Class[],java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: void > setCacheMethods(boolean)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: java.lang.Object > invokeExactStaticMethod(java.lang.Class,java.lang.String,java.lang.Object[],java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: void > cacheMethod(org.apache.commons.beanutils.MethodUtils$MethodDescriptor,java.lang.reflect.Method)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: java.lang.Object > invokeExactStaticMethod(java.lang.Class,java.lang.String,java.lang.Object[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: java.lang.Object > invokeStaticMethod(java.lang.Class,java.lang.String,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: float > getObjectTransformationCost(java.lang.Class,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: > java.lang.reflect.Method > getAccessibleMethodFromSuperclass(java.lang.Class,java.lang.String,java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: java.lang.Object > invokeStaticMethod(java.lang.Class,java.lang.String,java.lang.Object[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MethodUtils: void > setMethodAccessible(java.lang.reflect.Method)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: > java.lang.reflect.Method > getWriteMethod(java.lang.Class,java.beans.PropertyDescriptor)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: > org.apache.commons.beanutils.expression.Resolver getResolver()>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: void > setResolver(org.apache.commons.beanutils.expression.Resolver)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: > java.lang.reflect.Method > getReadMethod(java.lang.Class,java.beans.PropertyDescriptor)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: void > setPropertyOfMapBean(java.util.Map,java.lang.String,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: > java.lang.Object getPropertyOfMapBean(java.util.Map,java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: void > <clinit>()>{color} > {color:#d04437}<org.apache.commons.beanutils.ResultSetDynaClass: > java.lang.Object getObjectFromResultSet(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.WrapDynaClass: java.lang.Class > getBeanClass()>{color} > {color:#d04437}<org.apache.commons.beanutils.WrapDynaClass: java.util.Map > access$000()>{color} > {color:#d04437}<org.apache.commons.beanutils.WrapDynaClass: java.util.Map > getDynaClassesMap()>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.AbstractArrayConverter: > void <init>(java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BigDecimalConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BigDecimalConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BigIntegerConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BigIntegerConverter: > java.lang.Class class$(java.lang.String)>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanArrayConverter: > void > <init>(org.apache.commons.beanutils.converters.BooleanConverter,java.lang.Object)>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanArrayConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > void <init>(java.lang.String[],java.lang.String[],java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > void <clinit>()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > java.lang.String[] copyStrings(java.lang.String[])>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > void <init>(java.lang.String[],java.lang.String[])>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > java.lang.Object convertToType(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ByteConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ByteConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.CharacterConverter: > java.lang.Object convertToType(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.CharacterConverter: > java.lang.String convertToString(java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.CharacterConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.CharacterConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ClassConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ClassConverter: > java.lang.String convertToString(java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ClassConverter: > java.lang.Object convertToType(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.DoubleConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.DoubleConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FileConverter: > java.lang.Object convertToType(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FileConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FileConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FloatConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FloatConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.IntegerConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.IntegerConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.LongConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.LongConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ShortConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ShortConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlDateConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlDateConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimeConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimeConverter: > java.text.DateFormat getFormat(java.util.Locale,java.util.TimeZone)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimeConverter: > java.lang.Class getDefaultType()>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimestampConverter: > java.lang.Class getDefaultType()>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimestampConverter: > java.text.DateFormat getFormat(java.util.Locale,java.util.TimeZone)>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimestampConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.StringConverter: > void <init>(java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.StringConverter: > java.lang.Object convertToType(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.StringConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.StringConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.URLConverter: > java.lang.Class class$(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.URLConverter: > java.lang.Class getDefaultType()>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.URLConverter: > java.lang.Object convertToType(java.lang.Class,java.lang.Object)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.BigDecimalLocaleConverter: > java.lang.Object parse(java.lang.Object,java.lang.String)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.BigIntegerLocaleConverter: > java.lang.Object parse(java.lang.Object,java.lang.String)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.DateLocaleConverter: > java.lang.String > convertLocalizedPattern(java.lang.String,java.util.Locale)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.DateLocaleConverter: > java.lang.String > convertPattern(java.lang.String,java.lang.String,java.lang.String)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.DateLocaleConverter: > java.lang.String initDefaultChars()>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.LongLocaleConverter: > java.lang.Object parse(java.lang.Object,java.lang.String)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.ShortLocaleConverter: > java.lang.Object parse(java.lang.Object,java.lang.String)>{color} > b) Methods that only exist in commons-beanutils:commons-beanutils:1.7.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-digester:commons-digester:1.8:->commons-beanutils:commons-beanutils:1.7.0:] > {color:#d04437}<org.apache.commons.beanutils.BeanUtilsBean: int > findLastNestedIndex(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > boolean throwsException(java.lang.reflect.Method,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method[] getPublicDeclaredMethods(java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > boolean isSubclass(java.lang.Class,java.lang.Class)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > findMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > findMethod(java.lang.Class,java.lang.String,int,java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > internalFindMethod(java.lang.Class,java.lang.String,int,java.lang.Class[])>{color} > {color:#d04437}<org.apache.commons.beanutils.MappedPropertyDescriptor: > java.lang.reflect.Method > internalFindMethod(java.lang.Class,java.lang.String,int)>{color} > {color:#d04437}<org.apache.commons.beanutils.PropertyUtilsBean: int > findNextNestedIndex(java.lang.String)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BigDecimalConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BigIntegerConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.BooleanConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ByteConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.CharacterConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ClassConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.DoubleConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FileConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.FloatConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.IntegerConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.LongConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.ShortConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlDateConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimeConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > > {color:#d04437}<org.apache.commons.beanutils.converters.SqlTimestampConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.StringConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.converters.URLConverter: > java.lang.Object convert(java.lang.Class,java.lang.Object)>{color} > {color:#d04437}<org.apache.commons.beanutils.locale.BaseLocaleConverter: > void <clinit>()>{color} > {color:#d04437}<org.apache.commons.beanutils.locale.LocaleBeanUtils: void > <clinit>()>{color} > {color:#d04437}<org.apache.commons.beanutils.locale.LocaleBeanUtils: > java.lang.Class class$(java.lang.String)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.DateLocaleConverter: > java.text.SimpleDateFormat > getFormatter(java.lang.String,java.util.Locale)>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.DecimalLocaleConverter: > void <clinit>()>{color} > > {color:#d04437}<org.apache.commons.beanutils.locale.converters.StringLocaleConverter: > void <clinit>()>{color} > 2. Risk for > jar-pair:<com.sun.jersey:jersey-core:1.9:><javax.ws.rs:javax.ws.rs-api:2.0.1:> > a) Methods that only exist in com.sun.jersey:jersey-core:1.9:: > [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-mapreduce-client-core:2.6.5:->org.apache.hadoop:hadoop-yarn-common:2.6.5:->com.sun.jersey:jersey-core:1.9:] > {color:#d04437}<javax.ws.rs.core.Application: void <clinit>()>{color} > {color:#d04437}<javax.ws.rs.core.GenericEntity: java.lang.reflect.Type > getSuperclassTypeParameter(java.lang.Class)>{color} > {color:#d04437}<javax.ws.rs.core.MediaType$1: void > <init>(javax.ws.rs.core.MediaType)>{color} > b) Methods that only exist in javax.ws.rs:javax.ws.rs-api:2.0.1:: > [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.glassfish.jersey.core:jersey-client:2.22.2:->javax.ws.rs:javax.ws.rs-api:2.0.1:] > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,java.lang.Throwable,javax.ws.rs.core.Response$Status)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,javax.ws.rs.core.Response)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,int)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,javax.ws.rs.core.Response$Status)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,java.lang.Throwable,javax.ws.rs.core.Response)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: > javax.ws.rs.core.Response > validate(javax.ws.rs.core.Response,javax.ws.rs.core.Response$Status$Family)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,java.lang.Throwable,int)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: > javax.ws.rs.core.Response > validate(javax.ws.rs.core.Response,javax.ws.rs.core.Response$Status)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: void > <init>(java.lang.String,java.lang.Throwable)>{color} > {color:#d04437}<javax.ws.rs.WebApplicationException: java.lang.String > computeExceptionMessage(javax.ws.rs.core.Response)>{color} > {color:#d04437}<javax.ws.rs.core.Application: java.util.Map > getProperties()>{color} > {color:#d04437}<javax.ws.rs.core.CacheControl: boolean > notEqual(java.util.Map,java.util.Map)>{color} > {color:#d04437}<javax.ws.rs.core.CacheControl: int > hashCodeOf(java.util.Map)>{color} > {color:#d04437}<javax.ws.rs.core.CacheControl: int > hashCodeOf(java.util.Collection)>{color} > {color:#d04437}<javax.ws.rs.core.CacheControl: boolean > notEqual(java.util.Collection,java.util.Collection)>{color} > {color:#d04437}<javax.ws.rs.core.GenericEntity: boolean > equals(java.lang.Object)>{color} > {color:#d04437}<javax.ws.rs.core.GenericEntity: int hashCode()>{color} > {color:#d04437}<javax.ws.rs.core.GenericEntity: java.lang.String > toString()>{color} > {color:#d04437}<javax.ws.rs.core.HttpHeaders: java.util.Date > getDate()>{color} > {color:#d04437}<javax.ws.rs.core.HttpHeaders: int getLength()>{color} > {color:#d04437}<javax.ws.rs.core.HttpHeaders: java.lang.String > getHeaderString(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.MediaType$1: void <init>()>{color} > {color:#d04437}<javax.ws.rs.core.MediaType: java.util.TreeMap > createParametersMap(java.util.Map)>{color} > {color:#d04437}<javax.ws.rs.core.MediaType: void > <init>(java.lang.String,java.lang.String,java.lang.String,java.util.Map)>{color} > {color:#d04437}<javax.ws.rs.core.MediaType: void > <init>(java.lang.String,java.lang.String,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.MediaType: javax.ws.rs.core.MediaType > withCharset(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.MultivaluedMap: void > addAll(java.lang.Object,java.util.List)>{color} > {color:#d04437}<javax.ws.rs.core.MultivaluedMap: void > addAll(java.lang.Object,java.lang.Object[])>{color} > {color:#d04437}<javax.ws.rs.core.MultivaluedMap: void > addFirst(java.lang.Object,java.lang.Object)>{color} > {color:#d04437}<javax.ws.rs.core.MultivaluedMap: boolean > equalsIgnoreValueOrder(javax.ws.rs.core.MultivaluedMap)>{color} > {color:#d04437}<javax.ws.rs.core.NewCookie: java.util.Date > getExpiry()>{color} > {color:#d04437}<javax.ws.rs.core.NewCookie: boolean isHttpOnly()>{color} > {color:#d04437}<javax.ws.rs.core.NewCookie: void > <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,boolean,boolean)>{color} > {color:#d04437}<javax.ws.rs.core.NewCookie: void > <init>(javax.ws.rs.core.Cookie,java.lang.String,int,java.util.Date,boolean,boolean)>{color} > {color:#d04437}<javax.ws.rs.core.NewCookie: void > <init>(java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,int,java.util.Date,boolean,boolean)>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder allow(java.util.Set)>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder > links(javax.ws.rs.core.Link[])>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder > entity(java.lang.Object,java.lang.'annotation'.Annotation[])>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder > link(java.net.URI,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder > link(java.lang.String,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder > replaceAll(javax.ws.rs.core.MultivaluedMap)>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder > variants(javax.ws.rs.core.Variant[])>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder encoding(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response$ResponseBuilder: > javax.ws.rs.core.Response$ResponseBuilder allow(java.lang.String[])>{color} > {color:#d04437}<javax.ws.rs.core.Response$Status$Family: > javax.ws.rs.core.Response$Status$Family familyOf(int)>{color} > {color:#d04437}<javax.ws.rs.core.Response: > javax.ws.rs.core.Response$ResponseBuilder accepted(java.lang.Object)>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.util.Set > getAllowedMethods()>{color} > {color:#d04437}<javax.ws.rs.core.Response: javax.ws.rs.core.Link > getLink(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response: > javax.ws.rs.core.Response$StatusType getStatusInfo()>{color} > {color:#d04437}<javax.ws.rs.core.Response: javax.ws.rs.core.MultivaluedMap > getHeaders()>{color} > {color:#d04437}<javax.ws.rs.core.Response: javax.ws.rs.core.MultivaluedMap > getStringHeaders()>{color} > {color:#d04437}<javax.ws.rs.core.Response: > javax.ws.rs.core.Response$ResponseBuilder accepted()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.lang.Object > readEntity(javax.ws.rs.core.GenericType,java.lang.'annotation'.Annotation[])>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.lang.Object > readEntity(javax.ws.rs.core.GenericType)>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.util.Map getCookies()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.net.URI getLocation()>{color} > {color:#d04437}<javax.ws.rs.core.Response: javax.ws.rs.core.Link$Builder > getLinkBuilder(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.util.Locale > getLanguage()>{color} > {color:#d04437}<javax.ws.rs.core.Response: int getLength()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.util.Date getDate()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.util.Set getLinks()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.lang.Object > readEntity(java.lang.Class,java.lang.'annotation'.Annotation[])>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.util.Date > getLastModified()>{color} > {color:#d04437}<javax.ws.rs.core.Response: boolean bufferEntity()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.lang.Object > readEntity(java.lang.Class)>{color} > {color:#d04437}<javax.ws.rs.core.Response: boolean > hasLink(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response: javax.ws.rs.core.EntityTag > getEntityTag()>{color} > {color:#d04437}<javax.ws.rs.core.Response: javax.ws.rs.core.MediaType > getMediaType()>{color} > {color:#d04437}<javax.ws.rs.core.Response: void close()>{color} > {color:#d04437}<javax.ws.rs.core.Response: java.lang.String > getHeaderString(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Response: boolean hasEntity()>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > uri(java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: java.net.URI > build(java.lang.Object[],boolean)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > resolveTemplates(java.util.Map,boolean)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > resolveTemplateFromEncoded(java.lang.String,java.lang.Object)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: java.lang.String > toTemplate()>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > fromLink(javax.ws.rs.core.Link)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > resolveTemplates(java.util.Map)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > fromMethod(java.lang.Class,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: java.net.URI > buildFromMap(java.util.Map,boolean)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > resolveTemplate(java.lang.String,java.lang.Object)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > resolveTemplatesFromEncoded(java.util.Map)>{color} > {color:#d04437}<javax.ws.rs.core.UriBuilder: javax.ws.rs.core.UriBuilder > resolveTemplate(java.lang.String,java.lang.Object,boolean)>{color} > {color:#d04437}<javax.ws.rs.core.UriInfo: java.net.URI > resolve(java.net.URI)>{color} > {color:#d04437}<javax.ws.rs.core.UriInfo: java.net.URI > relativize(java.net.URI)>{color} > {color:#d04437}<javax.ws.rs.core.Variant: void > <init>(javax.ws.rs.core.MediaType,java.lang.String,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Variant: void > <init>(javax.ws.rs.core.MediaType,java.lang.String,java.lang.String,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Variant: void > <init>(javax.ws.rs.core.MediaType,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>{color} > {color:#d04437}<javax.ws.rs.core.Variant: java.lang.String > getLanguageString()>{color} > {color:#d04437}<javax.ws.rs.ext.FactoryFinder: void <clinit>()>{color} > {color:#d04437}<javax.ws.rs.ext.FactoryFinder: java.util.logging.Logger > access$000()>{color} > {color:#d04437}<javax.ws.rs.ext.RuntimeDelegate: > javax.ws.rs.core.Link$Builder createLinkBuilder()>{color} > {color:#d04437} {color} -- This message was sent by Atlassian JIRA (v7.6.3#76005)