首页 > 代码库 > how to get file from classpath using jboss7.x.1 --reference
how to get file from classpath using jboss7.x.1 --reference
question:
I want to convert smooks xml-java, so that i need to load source file from mobeeadmin.war/WEB-INF/sample.xml
.
Smooks smooks = new Smooks("/WEB-INF/sample.xml");
It is throwing following exception:
java.io.IOException: Failed to access data stream for resource [/WEB-INF/sample.xml]. Tried (in order): 10:10:14,113 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) File System: E:\WEB-INF\sample.xml 10:10:14,114 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) File System: E:\jboss-as-7.1.1.Final\bin\WEB-INF\sample.xml 10:10:14,117 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) Classpath: /WEB-INF/sample.xml 10:10:14,125 ERROR [stderr] (http-localhost-127.0.0.1-8080-2)By default it looks in File System: E:\jboss-as-7.1.1.Final\bin\WEB-INF\sample.xml .I want load from E:\jboss-as-7.1.1.Final\standalone\deployments\myproject.war\WEB-INF\sample.xml.
answer:
- What Smooks takes as a String is a file name. If you take a relative one it‘s interpreted relative to the start location of your java application. But of course you could take an absolute one too. So
E:/data/sample.xml
should just work fine. - /WEB-INF/sample.xml can‘t be on the classpath, as WEB-INF then would be a package name. But those must not contain dashes. In fact it‘s a resource file of your web application and you can get a stream to load it by
ServletContext.getResourceAsStream(java.lang.String path)
. As JBoss7 is Servlet 3.0 compilant you can get the ServletContext from the HttpServletRequest. However some modern Frameworks give you neither. If you‘d like to get your file from the class path you could move it to WEB-INF/classes and load it via a classloader. However, java is pretty picky with the right one. Most reliable is the ContextClassloader (it‘s now in the root package):
Thread.currentThread().getContextClassLoader().getResourceAsStream("sample.xml");
reference from:http://stackoverflow.com/questions/15633371/how-to-get-file-from-classpath-using-jboss7-x-1
how to get file from classpath using jboss7.x.1 --reference
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。