无法访问Lotus Notes Java代理中的资源文件

无法访问Lotus Notes Java代理中的资源文件,java,lotus-notes,xpages,Java,Lotus Notes,Xpages,我在访问导入到LotusNotesJava代理的资源部分(内容部分)的文件时遇到问题 我正在尝试下面的代码 getClass().getClassLoader().getResource("gift.png").getPath() 但每次都返回null 此资源位于Res/gift.png内(Res是LotusJava代理中的一个文件夹) 我也试过了 InputStream is = JavaAgent.class.getClassLoader().getResourceAsStream("g

我在访问导入到LotusNotesJava代理的资源部分(内容部分)的文件时遇到问题

我正在尝试下面的代码

getClass().getClassLoader().getResource("gift.png").getPath() 
但每次都返回
null
此资源位于Res/gift.png内(Res是LotusJava代理中的一个文件夹)

我也试过了

InputStream is = JavaAgent.class.getClassLoader().getResourceAsStream("gift.png");
这也返回null


我在LotusJava代理上找不到太多的源代码,所以尝试了一些常规java代码。有没有人面临过类似的问题。或者它们是访问LotusJava代理中的资源文件的其他方法或方式

Res是代理中的文件夹吗??从未听说过

尝试使用普通资源名称,不使用“Res\”,或尝试使用“Res\gift.png”

这也可能是一个安全问题,请参见此处,您可能希望: 1) 不使用JavaAgent,而是使用您自己在代理中使用的一个类 2) 使用
this.getClass().getResourceAsStream(“/gift.png”)
3) 它在Windows上是/不是\甚至是。
4) 您需要从/开始,以确保从代理根开始
嗯
:-)stw


更新:“/”相当于src(或已编译的bin)文件夹,但res文件夹被复制到已编译代理的根目录中。因此,删掉/res部分。或者在src文件夹中创建自己的文件夹。最简单的方法是打开代理进行编辑,然后在此临时项目上使用导航器。

我刚刚尝试制作一个包含一个名为“email.html”的导入资源的快速测试代理。在主JavaAgent类的NotesMain()中,我可以这样做来读取内容,因此这可能是一种方法:

InputStream res = this.getClass().getResourceAsStream("/email.html");

因此,结果是:显然完全省略了“res”部分。

嗨,Stw,在发布查询之前,我已经尝试了所有的4种方法,有些方法是多么的不走运。。。或者可能是b我做错了,将所有不是Java代理本身的东西包装到一个Jar中,您可以导入并再次尝试。我尝试制作一个Jar文件,但它仍然不能与Java代理一起工作。但它适用于使用eclipse的简单java程序…:(您可以将您的资源保存在src文件夹中(可以是子文件夹)-上面的初始答案已更新。您好,stw,谢谢您,它对我有效
getResourceAsStream(“/gift.png”)
这没问题,但问题仍然是针对
gerResource(“/gift.png”)。getPath()
它返回空指针异常….但我现在可以使用InputStream….
Res是代理中的一个文件夹???
-我的意思是,当您创建一个新的Java代理时,代理部分(如eclipse项目)中有Res和Archive部分/文件夹来添加新的资源或jar文件。