getResource в веб-проекте Java - PullRequest
0 голосов
/ 16 мая 2011

структура моего проекта содержит 3 основные папки (например, 3 проекта включены в 1). Например.

Main/java/..
Main1/java/..
Main2/java/..

в этих 3 модулях исходная папка - java, моя проблема в том, как использовать getResourceметод из Main1, чтобы получить URL файла из Main2.Использование MyClass.getResource (/ xxx / xxx / xxx) указывает на корневой каталог Main1.

Заранее спасибо.

1 Ответ

2 голосов
/ 16 мая 2011

Как Javadoc для getResource говорит

сначала будет искать родительский класс загрузчик для ресурса; если родитель NULL путь к загрузчику классов встроенный в виртуальную машину поиск. Что проваливается, этот метод вызовет findResource(String) для найти ресурс.

Итак, у вас должен быть класс от Main2 в вашем пути к классам. Альтернативой является реализация собственного ClassLoader и реализация метода findResource для загрузки классов. Наличие класса в вашем classpath кажется более разумным / легким подходом (я лично считаю, что возиться с CLassLoader s, как правило, не очень хорошая идея, если вы действительно не знаете, что делаете).

...