2012-08-06 93 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") 
相關問題