无法访问Lotus Notes Java代理中的资源文件
我在访问导入到LotusNotesJava代理的资源部分(内容部分)的文件时遇到问题 我正在尝试下面的代码无法访问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
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文件。