我创建了一个用于解组XML的jar,我正在使用以下代码搜索xsd
Thread.currentThread().getContextClassLoader().getResource(DEFAULT_XSD_NAME)
哪里
DEFAULT_XSD_NAME =“ destination.xsd”
我的xsd文件与具有以上代码的类位于相同的包结构中,并且位于相同的级别。
这在我的独立应用程序中运行良好,但是当我将jar放在web应用程序中lib目录下的以下代码中
Thread.currentThread().getContextClassLoader().getResource(DEFAULT_XSD_NAME).getFile()
下面给我空指针异常是堆栈跟踪
java.lang.NullPointerException
com.raisonne.tr.impex.xmlprocessor.impl.XMLUnmarshallerImpl.validateXML(XMLUnmarshallerImpl.java:194)
com.raisonne.tr.impex.xmlprocessor.impl.XMLUnmarshallerImpl.unmarshal(XMLUnmarshallerImpl.java:85)
com.raisonne.tr.service.impex.impl.DestinationImportServiceImpl.parseXMLToObject(DestinationImportServiceImpl.java:95)
com.raisonne.tr.service.impex.impl.DestinationImportServiceImpl.startDestinationImport(DestinationImportServiceImpl.java:82)
com.raisonne.tr.backoffice.actions.impex.DestinationImportAction.destinationImport(DestinationImportAction.java:118)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
我在tomcat 6.0.29上运行该应用程序。
任何帮助/指针是这方面的applicied.additonaly,如果我有一些独立于容器的解决方案将是很好。
最佳答案
将其放在default package
中应该可以使用
要么
Thread.currentThread().getContextClassLoader().getResource("/com/your/package/"+DEFAULT_XSD_NAME)
关于java - getResource未在Webapp中加载资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4603137/