2009-09-18 2 views
0

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

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

Теперь WebLogic принимает PleaseNote.txt из своего домена directory.My вопрос:

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

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

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

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

Благодарит вас С уважением Chaitanya

ответ

3

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

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

0

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

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

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

0

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

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

+0

Что делать, если я запускаю WebLogic из какого-то случайного каталога? Будет ли он по-прежнему смотреть в WL Domain Directory или в случайном каталоге, откуда началась WL? –

+0

Я не уверен. Я думаю, что это зависит от стартового скрипта. если скрипт cd в домене dir, Java будет искать файлы в dir домена, иначе в каталоге, откуда начинается weblogic – Salandur

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