Yes, please refer
https://github.com/apache/storm/blob/master/bin/storm.py#L110 to how Storm
build classpath while submitting.

2015-05-07 0:24 GMT+09:00 Jeff Maass <[email protected]>:

>  HeartSaVioR:
>
>  Is this correct?
>
>  so, effectively, storm forces topology code to make use of the version
> of its libraries.
>
>  In this instance, the developer’s topology wishes to make use of
> com.googlecode.json-simple version 1.1.1
> Storm version 0.9.4 uses com.googlecode.json-simple version 1.1
> Therefore, all topologies run on 0.9.4 are forced to use version 1.1 of
> com.googlecode.json-simple
>
>  Storm version 0.9.4:
> http://mvnrepository.com/artifact/org.apache.storm/storm-core/0.9.4
>
>  If we wanted to use a later version of com.googlecode.json-simple, we
> could go to the lib directory of our storm installation, and replace the
> lower version of the jar.  For instance, in my
> installation, /opt/apache-storm-0.9.4/lib, the jar is json-simple-1.1.jar.
>  I would delete json-simple-1.1.jar and replace it with
> json-simple-1.1.1.jar.  At that point, all I would need to do is kill the
> worker in any topologies requiring com.googlecode.json-simple version 1.1.1
> ( If they had not already died due to an un-hanlded exception ).  The
> supervisor would then restart the worker, which would pick up the new,
> 1.1.1 jar.
>
>  This will only work if the com.google.code.json-simple library, 1.1.1 is
> backwards compatible with the com.google.cod.json-simple 1.1 library.
>
>
>   From: 임정택 <[email protected]>
> Reply-To: "[email protected]" <[email protected]>
> Date: 2015,Wednesday, May 6 at 09:44
> To: "[email protected]" <[email protected]>
> Subject: Re: Conflict with json-simple
>
>   Hi.
>
>  Unfortunately, Storm adds all jars in <storm root>/lib directory to
> classpath first.
> Recently Storm relocates some libraries to reduce dependency conflict
> (please see http://storm.apache.org/2014/11/25/storm093-released.html)
> but json-simple is not in.
>
>  You can try replacing json-simple-1.1.jar to json-simple-1.1.1.jar in
> your storm cluster's lib directory and restart cluster / submit your
> topology, but please note that it should be backward compatible to let
> Storm runs without issue.
>
>  Bests.
> Jungtaek Lim (HeartSaVioR)
>
> 2015-05-06 18:30 GMT+09:00 Ferran Muñoz <[email protected]>:
>
>>  Hi,
>>
>>  I am using a library in a bolt of my topology that depends on
>> json-simple v1.1.1 because it uses the JSONObject constructor that accepts
>> a java.util.Map parameter.
>>
>>  I have a conflict because Storm depends on json-simple v1.1. So, when I
>> run my topology I get the exception:
>>
>>  java.lang.NoSuchMethodError: org.json.simple.JSONObject: method
>> <init>(Ljava/util/Map;)V not found
>>
>>  How can I tackle with this?
>>
>>  Thanks in advance and best regards,
>>
>>  Ferran
>>
>
>
>
>  --
>  Name : 임 정택
> Blog : http://www.heartsavior.net / http://dev.heartsavior.net
> Twitter : http://twitter.com/heartsavior
> LinkedIn : http://www.linkedin.com/in/heartsavior
>



-- 
Name : 임 정택
Blog : http://www.heartsavior.net / http://dev.heartsavior.net
Twitter : http://twitter.com/heartsavior
LinkedIn : http://www.linkedin.com/in/heartsavior

Reply via email to