Java 在Intellij Idea中将资源文件添加到工件

Java 在Intellij Idea中将资源文件添加到工件,java,resources,intellij-idea,Java,Resources,Intellij Idea,我正在创建一个插件,由主应用程序进行反反射和调用。这个插件使用xml文件,我想让它成为嵌入式资源。我将插件构建为工件(JAR)。我的行动: 1) 将xml文件放入目录“trunk/res”,配置为“源根” 2) 对目录“trunk/res”所在的模块执行了'make module'操作 3) 在插件中,我通过文件路径dom=db.parse(“trunk//res//resource.xml”)访问xml文件 但是当我从主应用程序调用plugin时,我得到一个关于系统的异常,无法找到文件'Mai

我正在创建一个插件,由主应用程序进行反反射和调用。这个插件使用xml文件,我想让它成为嵌入式资源。我将插件构建为工件(JAR)。我的行动:

1) 将xml文件放入目录“trunk/res”,配置为
“源根”

2) 对目录“trunk/res”所在的模块执行了
'make module'
操作

3) 在插件中,我通过文件路径
dom=db.parse(“trunk//res//resource.xml”)访问xml文件

但是当我从主应用程序调用plugin时,我得到一个关于系统的异常,无法找到文件
'MainApp/trunk/trunk/res/resource.xml'
。 我想我没有正确提取资源,但如何正确提取资源?

尝试调用:

System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation());
看看你是不是真的从jar打来的。 然后

请尝试拨打:

System.out.println(getClass().getProtectionDomain().getCodeSource().getLocation());
看看你是不是真的从jar打来的。 然后


所以
resource.xml
位于jar中?如果
trunk/res
是根,为什么要在路径中指定它?
db.parse
如何加载资源?为什么要用双斜杠?是的,工件|输出布局显示jar包含
resource.xml(…\PlugnProject\trunk\res)
@Zharro您能解压缩jar并检查
resource.xml
是否真的在其中并显示jar文件的结构吗。@Nikita Beloglazov是的。Jar包含文件:
JarContent\res\resource.xml
所以
resource.xml
位于Jar中?如果
trunk/res
是根,为什么要在路径中指定它?
db.parse
如何加载资源?为什么要用双斜杠?是的,工件|输出布局显示jar包含
resource.xml(…\PlugnProject\trunk\res)
@Zharro您能解压缩jar并检查
resource.xml
是否真的在其中并显示jar文件的结构吗。@Nikita Beloglazov是的。Jar包含文件:
JarContent\res\resource.xml