将资源文件添加到Intellij中的工件Idea
问题描述:
我正在创建一个插件以反映主要应用程序的调用情况。这个插件使用xml文件,我想使它成为嵌入式资源。我将插件构建为工件(JAR)。我的动作:将资源文件添加到Intellij中的工件Idea
1)将xml文件放到目录'trunk/res'配置为'source root'
;
2)执行'make module'
对目录'trunk/res'所在模块的操作;
3)到插件我通过文件路径dom = db.parse("trunk//res//resource.xml");
访问XML文件,但是当我打电话插件从主应用程序,我得到这个异常有关系统无法找到该文件'MainApp/trunk/trunk/res/resource.xml'
。 我想我不正确地提取资源,但如何正确地做到这一点?
答
尝试拨打:
System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation());
看看是否你真的从罐子调用。 然后
InputStream xmlFileStream = getClass().getClassloader().getResourceAsStream("res\\AIP_82.xml")
那么'resource.xml'位于jar中吗? – 2012-08-06 10:04:45
如果'trunk/res'是一个根,为什么你在路径中指定它? 'db.parse'如何加载资源?为什么双斜杠? – CrazyCoder 2012-08-06 10:07:07
是的,Artifacts | Output Layout显示jar包含'resource.xml(... \ PlugnProject \ trunk \ res)' – Zharro 2012-08-06 10:11:34