Где WebLogic будет искать файлы по умолчанию? - PullRequest
0 голосов
/ 18 сентября 2009

У меня есть веб-приложение, развернутое в WebLogic. В одном из моих файлов Java я попытался прочитать PleaseNote.txt следующим образом:

File file = new File("PleaseNote.txt");

Теперь WebLogic берет PleaseNote.txt из своего доменного каталога. Мой вопрос:

  1. Почему это каталог домена? Почему бы не каталог, в котором находится мой Java-файл с вышеуказанной строкой кода?

  2. Существует ли какая-либо конфигурация, о которой я не знаю, но не подозревал, для WebLogic, чтобы искать ее в каталоге домена?

  3. Каковы последствия / побочные эффекты использования вышеуказанной строки кода в производстве?

Любые эксперты WeLogic, пожалуйста, ответьте.

спасибо С уважением Chaitanya

Ответы [ 3 ]

3 голосов
/ 18 сентября 2009

Чтение файла таким способом делает ваше приложение менее переносимым и не очень надежным: если вы развернете свое приложение на другом сервере приложений, вам придется выяснить, куда поместить этот файл PleaseNote.txt еще раз, или код сломается .

Это нарушает принцип WORA («Один раз напиши, беги где-нибудь») , и я считаю это плохим практика.

Итак, я бы предпочел поместить этот файл в путь к классам и использовать ClassLoader#getResourceAsStream(String name) для его чтения.

0 голосов
/ 18 сентября 2009

при использовании нового файла (..) java ищет файл в каталоге, из которого запускается java.exe. В случае веблогического домена это, конечно, каталог домена. Это стандартное поведение Java.

Если вы хотите загрузить файл, который находится в том же каталоге, что и файл класса, из которого вы загружаете, используйте ClassLoad.getResourcesAsStream (). Если вы хотите загрузить ресурс из пути к классам, используйте тот же метод, но префикс вашего файла с "/".

0 голосов
/ 18 сентября 2009

Это каталог домена, поскольку он соответствует значению системной переменной user.dir , где java читает / записывает файлы, если путь не указан явно.

Почему каталог домена соответствует user.dir ? Потому что вы запускаете сервер Weblogic здесь.

С уважением Александр Рожков

...