1

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

在我添加的 Java 服务项目 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"/>

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

之后,我尝试将其部署在 virgo 服务器中

[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

4

2 回答 2

1

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

Import-Package: com.fasterxml.jackson;version="1.4.3"
于 2013-09-23T05:46:06.583 回答
1

检查您的包裹的 VIRGO STS 兼容性

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

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

于 2013-09-23T05:49:23.133 回答