2012-03-13 93 views
0

我有一个web项目和一个源项目。如何查找Websphere 6.1中的资源

在Web项目中,我有一个名为xsd的文件夹,我想从源项目中访问我的java文件。

从servlet或JSP我可以访问使用

getServletContext().getRealPath("/xsd")

然而,XSD,从源头项目,我没有ServletContext的,我不知道是谁得到xsd夹在保持网络项目。当项目部署到我们的生产服务器时,我无法使用绝对路径,因为这是未知的。

当我使用File在Java中,我得到

new File(".")打印C:\SDP75\runtimes\base_v61\profiles\was61profile1\不包含我的XSD文件夹和Web项目

我如何可以很容易地做到这一点?

回答

2

你能不能把XSD的类路径,然后做

Thread.currentThread().getContextClassLoader().getResourceAsStream("xsd/A.xsd"); 

它不会给你一个File,但是那会是足够了吗?

编辑:删除前导/,因为它只适用于Class.getResource()而不是Classloader.getResource()

+0

是的,这正是我需要的。奇怪的是,这是我第一次尝试。但我试图看到我的第一个位置,而且我没有想到只是试试这条路。不管怎样,非常感谢! – 2012-03-13 10:49:20

+0

这看起来不对。传递给Class.getResource/AsStream的资源名称应该有一个前导“/”,但传递给ClassLoader.getResource/AsStream的资源名称不应该。 – 2012-03-13 11:45:40

+0

@bkail,谢谢。 – beny23 2012-03-13 11:50:05