我为jar制作了一个类文件。这个班级使用wurfl。并在javac中运行此代码,输出正常。但我制作jar文件然后给出错误。
整合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
答案 0 :(得分:1)
在您的jar中包含您的资源包,在此资源包中,静态文件包含此代码。
<property name="wurfl" value="file:./resources/wurfl-2.2.zip"/>
<property name="wurflPatch" value="file:./resources/web_browsers_patch.xml"/>
在此代码中使用文件协议。