2017-05-16 2 views
0

ESB 5.0.0でJsonPathの新しいバージョンを使用しようとしています。次のエラーcom.jayway.jsonpath_0.8.1.wso2v1.jarをjson-path-2.2.0.jarに置き換えることは可能ですか

java.lang.NoClassDefFoundError: com/jayway/jsonpath/Configuration 
    at net.sample.<init>(FuzzyJsonProvider.groovy:15) 
    at net.sampel2(class.java:102) 
    at net.class2(class.java:67) 
    at net.class2(class.java:62) 
    at net.class4.mediate(class.java:75) 
    at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:84) 
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 
    at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) 
    at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 
    at org.apache.synapse.rest.Resource.process(Resource.java:343) 
    at org.apache.synapse.rest.API.process(API.java:399) 
    at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123) 
    at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) 
    at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) 
    at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
    at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325) 
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:371) 
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:151) 
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: com.jayway.jsonpath.Configuration cannot be found by sample_1.0.2_SNAPSHOT_1.0.0 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:475) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 24 more 

私は適切なlibフォルダにサードパーティのjarファイルを入れしようとしてきたし、サーバが起動したら、サードパーティのjarファイルはdropinsフォルダに表示されます。古いjsonPath jarを置き換えることは可能ですか?

答えて

1

ESBは、かつてのlibがロードされているパッケージの名前空間を更新しませんので、短い答えはノーです。..すなわちcom.jaywayは... 0.8.1は2.2.0

中1で置き換えるか更新されません

この作業を行う最良の方法はShadowを使用して、自分のFatJarで必要なライブラリをパッケージ化し、それをESBにロードすることです。

関連する問題