2012-03-13 3 views
0

У меня есть веб-проект и исходный проект.Как найти ресурс в Websphere 6.1

В веб-проекте у меня есть папка с именем xsd, которую я хотел бы получить в своих java-файлах из исходного проекта.

Из сервлета или JSP я могу получить доступ к XSD с помощью

getServletContext().getRealPath("/xsd")

Однако, из исходного проекта, где у меня нет ServletContext, я не знаю, кто разжиться папку xsd в веб-проект. Я не могу использовать абсолютный путь, поскольку это неизвестно, когда проект развертывается на наших производственных серверах.

Когда я использую File в Java я получаю

new File(".") печатает C:\SDP75\runtimes\base_v61\profiles\was61profile1\, который не содержит мою папку XSD и веб-проект

Как я могу легко это сделать?

ответ

2

Могли бы вы не поставить XSD на пути к классам, а затем сделать

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

Это не даст вам File, но это будет достаточно?

EDIT: Удалено ведущее / как это применимо только к Class.getResource() не Classloader.getResource().

+0

Да, это именно то, что мне нужно. Странно, что это то, что я пробовал в первую очередь. Но я попытался посмотреть, где я был первым, и мне не приходило в голову просто попробовать путь. В любом случае спасибо большое! –

+0

Это выглядит неправильно. Имя ресурса, переданное Class.getResource/AsStream, должно иметь ведущий «/», но тот, который передан ClassLoader.getResource/AsStream, не должен. –

+0

@bkail, спасибо. – beny23

Смежные вопросы