【问题标题】:Virgo Server Throwing java.lang.NoClassDefFoundError: org/json/JSONException Error while deploying a Java packageVirgo 服务器在部署 Java 包时抛出 java.lang.NoClassDefFoundError: org/json/JSONException 错误
【发布时间】:2013-09-20 13:42:19
【问题描述】:

在创建 vSphere Web 客户端插件时,我从 Java 调用 REST 服务器并使用 Jackson 库解析 JSON 数组

在我添加的 Java Service 项目 build-java.ant 文件中

<classpath>
            <!-- remove this if you are not using the SDK on the java side -->
            <pathelement path="${VSPHERE_SDK_HOME}/libs/vsphere-client-lib.jar"/>
            <pathelement path="C:\Users\vignesh\Desktop\plugins\jackson-annotations-2.2.0.jar"/>
            <pathelement path="C:\Users\vignesh\Desktop\plugins\jackson-core-2.2.0.jar"/>
            <pathelement path="C:\Users\vignesh\Desktop\plugins\jackson-databind-2.2.0.jar"/>

我尝试构建包,它正在工作文件..构建成功

之后我尝试将其部署在处女座服务器中 在 vsphere web server 拾取目录中,我添加了 Jackson 的三个 jar 文件 我试图重新部署该项目,当时它正在抛出

[2013-09-20 18:35:43.154] [ERROR] region-dm-3                   <AG0000E> Application context creation failure for bundle 'com.acme.xxx.xxxx' version '1.0.0'. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxx': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxx' defined in URL [bundleentry://274.fwk22736215/META-INF/spring/bundle-context.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/json/JSONException
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)
    at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)
    at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
    at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
    at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)
    at org.eclipse.virgo.kernel.agent.dm.ContextPropagatingTaskExecutor$2.run(ContextPropagatingTaskExecutor.java:95)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)

我只进口了

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.ObjectMapper;

并且只抛出 IOException

【问题讨论】:

    标签: java json spring-tool-suite eclipse-virgo vsphere


    【解决方案1】:

    检查你的包的 VIRGO STS 兼容性

    Jackson JSON 映射器和解析器支持版本 0.9.9.4 到 1.4.3

    更多信息请查看http://ebr.springsource.com/repository/app/bundle?query=J

    【讨论】:

      【解决方案2】:

      在 META-INF 中添加导入的外部 jar -> MANIFEST.MF 在您的资源中

      Import-Package: com.fasterxml.jackson;version="1.4.3"
      

      【讨论】:

      • 我已经添加了 Import-Package: com.fasterxml.jackson;version="1.9.9"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 2015-01-08
      • 2014-05-28
      • 2021-01-01
      • 1970-01-01
      相关资源
      最近更新 更多