Я работаю с Liferay 6.0 на JBoss 5.1.1, Windows 8 - это ОС. При запуске сервера я всегда получаю следующее сообщение об ошибке объясняя каталог авто Deploy не может быть найдено:Невозможно установить каталог автоматического развертывания на Liferay Portal 6.0
ERROR [AutoDeployDir:90] Directory F:\liferay-portal-ee-6.0\deploy could not be created
Это имеет смысл, потому что у меня нет F: диск. Однако я не могу настроить его в файле portal-ext.properties
, как описано here. Когда я вхожу в панель управления Liferay и смотрю в разделе Администрирование портала -> Свойства портала, я вижу, что значение, которое я положил в ext.properties
, действительно отображается как значение для auto.deploy.deploy.dir
. Однако при запуске сервера он использует F:\liferay-portal-ee-6.0\deploy
в качестве каталога автоматического развертывания и регистрации ошибки выше. Я отлаживал класс GlobalStartupAction
, который инициализирует автоматическое развертывание Liferay, и я вижу, что он вызывает PrefsPropsUtil.getString(String, String)
, чтобы получить значение для каталога автоматического развертывания, и он передает значение, которое я установил в portal-ext.properties
в качестве второго аргумента, в соответствии с PrefsPropsUtil Java doc вторым аргументом является значение по умолчанию. Когда я копаюсь в вызове PrefsPropsUtil.getString
, я вижу, что он использует экземпляр PortalPreferencesLocalServiceImpl
для получения списка свойств по companyId
, ownerId
и ownerType
, которые установлены в 0, 0 и 1 соответственно. Поскольку PortalPreferencesLocalServiceImpl
является «локальным», я предполагаю, что он не собирается использовать другую машину для извлечения значений. Я сделал обширный каталог и поиск файлов для ссылок на auto.deploy.deploy.dir
и значения, такие как F:\liferay-portal-ee-6.0
, и я не могу оценить, где это свойство устанавливается. Откуда берутся эти значения и почему не используется мое переопределение?
Спасибо, это спасло мне кучу времени на поиск интерфейса. – clav
Кажется, автоматическое развертывание работает только в том случае, если я настроил его на панели управления Liferay. Я хотел бы настроить автоматическое развертывание с помощью portal -ext.properties, но когда я удаляю значения каталога auto deploy из панели управления Liferay, он не использует значения, введенные мной в portal -ext.properties. Вы знаете, как я могу заставить Liferay использовать каталог автоматического развертывания, который я установил в portal -ext.properties? – clav
После того, как вы установили каталог автоматического развертывания с панели управления, он всегда будет использовать значение панели управления. Поскольку вы правильно отлаживали ранее, он использует PrefsPropsUtil, который сначала проверяет, есть ли значение для свойства в базе данных, если да, то используйте его еще, используя значение по умолчанию из файла свойств. Поскольку вы уже установили значение из панели управления, значение сохраняется в базе данных, и именно это будет использоваться. Единственный вариант, если вы хотите, чтобы значение было прочитано из файла свойств, - это осторожно удалить запись из базы данных. (Пожалуйста, сделайте резервную копию, прежде чем делать что-либо подобное) –