2012-04-11 45 views
1

我爲jar創建了一個類文件。這個班有使用wurfl。並在javac中運行此代碼並輸出正常。但我做了jar文件,然後給錯誤。如何在我們的jar文件中集成wurfl

整合WURFL:

ApplicationContext ctx = new ClassPathXmlApplicationContext("/resources/wurfl-standard-import-ctx.xml"); 
    WURFLManager wurflManager = (WURFLManager) ctx.getBean("wurflManager"); 

我可以把jar文件並運行它。然後錯誤:

org.springframework.beans.factory.BeanCreationException: Error creating bean wit 
h name 'wurflModel' defined in class path resource [resources/wurfl-standard-imp 
ort-ctx.xml]: Error setting property values; nested exception is org.springframe 
work.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (2) are 
: 
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: 
Property 'wurfl' threw exception; nested exception is net.sourceforge.wurfl.core 
.resource.WURFLResourceException: WURFL unexpected exception 
PropertyAccessException 2: org.springframework.beans.MethodInvocationException: 
Property 'wurflPatch' threw exception; nested exception is net.sourceforge.wurfl 
.core.resource.WURFLResourceException: WURFL unexpected exception 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb 
ject(AbstractBeanFactory.java:295) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr 
y.getSingleton(DefaultSingletonBeanRegistry.java:222) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe 
an(AbstractBeanFactory.java:292) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean 
(AbstractBeanFactory.java:194) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory. 
preInstantiateSingletons(DefaultListableBeanFactory.java:580) 
     at org.springframework.context.support.AbstractApplicationContext.finish 
BeanFactoryInitialization(AbstractApplicationContext.java:900) 
     at org.springframework.context.support.AbstractApplicationContext.refres 
h(AbstractApplicationContext.java:455) 
     at org.springframework.context.support.ClassPathXmlApplicationContext.<i 
nit>(ClassPathXmlApplicationContext.java:139) 
     at org.springframework.context.support.ClassPathXmlApplicationContext.<i 
nit>(ClassPathXmlApplicationContext.java:83) 
     at mwp.slktechlabs.cron.AnalyticsCron.setNewdataInUserResponseCollection 
(AnalyticsCron.java:116) 
     at mwp.slktechlabs.cron.AnalyticsCron.fillAnalyticsData(AnalyticsCron.ja 
va:92) 
     at mwp.slktechlabs.cron.AnalyticsCron.main(AnalyticsCron.java:44) 
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested Proper 
tyAccessExceptions (2) are: 
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: 
Property 'wurfl' threw exception; nested exception is net.sourceforge.wurfl.core 
.resource.WURFLResourceException: WURFL unexpected exception 
PropertyAccessException 2: org.springframework.beans.MethodInvocationException: 
Property 'wurflPatch' threw exception; nested exception is net.sourceforge.wurfl 
.core.resource.WURFLResourceException: WURFL unexpected exception 
     at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(
AbstractPropertyAccessor.java:102) 
     at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(
AbstractPropertyAccessor.java:58) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBean 
Factory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358) 
     ... 15 more 

回答

1

包括你的資源包在您的罐子,在這個資源包靜態文件包括這段代碼。

<property name="wurfl" value="file:./resources/wurfl-2.2.zip"/> 
<property name="wurflPatch" value="file:./resources/web_browsers_patch.xml"/> 

在此代碼中使用文件協議。

+1

爲什麼y使用文件協議? – kamlesh0606 2012-06-12 11:18:06