2012-08-06 377 views
0

我正在创建一个插件以反映主要应用程序的调用情况。这个插件使用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'。 我想我不正确地提取资源,但如何正确地做到这一点?

+0

那么'resource.xml'位于jar中吗? – 2012-08-06 10:04:45

+0

如果'trunk/res'是一个根,为什么你在路径中指定它? 'db.parse'如何加载资源?为什么双斜杠? – CrazyCoder 2012-08-06 10:07:07

+0

是的,Artifacts | Output Layout显示jar包含'resource.xml(... \ PlugnProject \ trunk \ res)' – Zharro 2012-08-06 10:11:34

回答

1

尝试拨打:

System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation()); 

看看是否你真的从罐子调用。 然后

InputStream xmlFileStream = getClass().getClassloader().getResourceAsStream("res\\AIP_82.xml") 
相关问题