是否可以将 com.jayway.jsonpath_0.8.1.wso2v1.jar 替换为 json-path-2.2.0.jar
Is it possible to replace com.jayway.jsonpath_0.8.1.wso2v1.jar with json-path-2.2.0.jar
我正在尝试在 ESB 5.0.0 中使用较新版本的 JsonPath,但出现以下错误
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.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
我尝试将第 3 方 jar 放在适当的 lib 文件夹中,一旦服务器启动,第 3 方 jar 就会出现在 dropins 文件夹中。如果可以替换旧的 jsonPath jar,有什么想法吗?
简短的回答是否定的,因为 ESB 不会在加载 lib 后更新包命名空间.. 即 com.jayway...0.8.1 不会被 2.2 中的替换或更新。 0
实现此功能的最佳方法是使用 Shadow 将您需要的库打包到您自己的 FatJar 中并将其加载到 ESB 中。
我正在尝试在 ESB 5.0.0 中使用较新版本的 JsonPath,但出现以下错误
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.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
我尝试将第 3 方 jar 放在适当的 lib 文件夹中,一旦服务器启动,第 3 方 jar 就会出现在 dropins 文件夹中。如果可以替换旧的 jsonPath jar,有什么想法吗?
简短的回答是否定的,因为 ESB 不会在加载 lib 后更新包命名空间.. 即 com.jayway...0.8.1 不会被 2.2 中的替换或更新。 0
实现此功能的最佳方法是使用 Shadow 将您需要的库打包到您自己的 FatJar 中并将其加载到 ESB 中。