Как получить доступ к дополнительным файлам, развернутым в weblogic - PullRequest
0 голосов
/ 30 марта 2012

У меня есть EJB, который использует дополнительные файлы ресурсов (текстовые файлы шаблонов, помещенные в каталог, называемый «шаблоны»). Я не знаю, как получить доступ к содержимому каталога «templates» из приложения Java EE.

Я пытался поместить каталог в папку «EarContent / templates» или «EarContent / APP-INF / lib / templates» в проекте EAR. Каталог развертывается в домене weblogic, как и ожидалось. (Я искал это в файловой структуре домена weblogic.) Но когда я хочу получить доступ к файлам, все пути к ресурсам, по-видимому, относятся к корневому каталогу домена weblogic, а не к развернутому приложению. Таким образом

URL dirURL = this.getClass().getClassLoader().getResource("templates");

возвращает "файл: / / templates",

File file = new File("templates");

открывает файл в « / templates» (если есть).

Как правильно получить доступ к дополнительным файлам ресурсов?

Редактировать: Я обнаружил, что, когда я помещаю каталог "templates" в проект EAR как "EarContent / APP-INF / classes / templates", обе части кода, упомянутые выше, находят его. Но каталог "classes" не является подходящим местом для размещения каталога "templates" в ... (Хотя бы потому, что среда IDE отфильтровывает в этом каталоге файлы, не относящиеся к классам, и не отображает их.)

Редактировать: Я немного играл с ним. Используя FileMon, я вижу, что weblogic полностью игнорирует каталоги, указанные в пути к классу MANIFEST.MF. Я пробовал как манифесты EJB, так и EAR, а weblogic даже не пытается найти путь, указанный в манифесте.

Manifest-Version: 1.0
Class-Path: APP-INF/

1 Ответ

0 голосов
/ 03 апреля 2012

Я потратил много времени на поиск в Google и эксперименты, но я не нашел другого способа, кроме как поместить каталог в папку / EarContent / APP-INF / classes /.Другие решения, даже когда (смутно) предложенные в документации weblogic, такие как установка Classpath в файле MANIFEST.MF, не работали.

Я также протестировал возможность размещения каталога шаблонов в отдельном каталоге.полезный проект.Каталог шаблонов должен быть размещен в/ src / папка.Однако в среде разработки каталог шаблонов развертывается как обычный каталог, а при экспорте в EAR каталог шаблонов упаковывается в служебный проект .jar.При развертывании на сервере Weblogic этот файл .jar не распаковывается, поэтому вы не можете получить доступ к файлам шаблона как обычным файлам, в частности, вы не можете перечислить их.

...