Подтвердить что ты не робот

Горячий портлет Liferay Maven от Intellij Idea до Liferay Tomcat в комплекте

Я разрабатываю портлет Liferay, и я не могу ждать, пока Maven создаст файл .war, а затем скопируйте этот каталог .war в каталог автозагрузки LifeRay, чтобы, наконец, дождаться (снова), пока LifeRay не завершит его развертывание. Вот почему я хочу построить, запустить Tomcat (в комплекте с LifeRay) и развернуть свой портлет со всем через Intellij IDEA с включенным горячим развертыванием.

Я пробовал с Запуск Liferay из IntelliJ (из Liferay Wiki), но не может заставить его работать.

Я также пробовал со следующими вопросами, но без результата:

Окружающая среда:

  • Liferay CE 6.1.1 (расслоение Tomcat).
  • Проект Maven с использованием архетипа: liferay-portlet-archetype.
  • Intellij IDEA 12.1.2.
  • JDK 6.

Кто-нибудь знает, как это сделать?

4b9b3361

Ответ 1

Развертывание .war файла на сервере (Liferay + Tomcat Bundle) → Говорит о распаке .war файла в каталог развертывания liferay и не autodeploy.

Технически это autodeployment, потому что он обрабатывается вашим сервером приложений AutoDeploy Scanner, но это, вероятно, не то, что вы подразумеваете под автоматическим развертыванием или hot-deploy.

Как эффективно управлять портлетами с помощью Liferay и Maven? → Я хочу настроить Intellij IDEA, не хочу использовать другую среду IDE. Я не пытался с JRebel.

Скалы IDEA, не меняйте его. Однако, хотя я не использую JRebel лично, я слышал много положительных отзывов от коллег, которые его используют. Не отбрасывайте этот вариант - вы можете проверить этот учебник или, возможно, этот.

Теперь для части ответа: Это может быть скорее советом, чем точным решением, но я использовал это в течение длительного времени. Если вы не хотите передислоцировать весь модуль, который нужно построить, вы можете быстро развернуть его с помощью IDEA, если у вас настроен ваш сервер, чтобы разрешить .

Когда вы делаете некоторые изменения в своем коде, и вы хотите протестировать его, просто подключитесь к вашему запущенному серверу приложений, как будто вы собираетесь удаленно его отлаживать и скомпилировать класс, который вы изменили. Он автоматически сделает "горячее" развертывание. После этого отключите/завершите отладку и проверьте свои изменения!

Это не работает, если вы слишком сильно меняете структуры своих классов или изменяете аргументы метода, но это большая помощь, когда вы пытаетесь исправить, например, нулевой указатель внутри тела методов. Просто подключитесь и скомпилируйте.

Надеюсь, это поможет вам немного, если вы не хотите использовать JRebel.

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

В вашем основном (верхнем уровне) pom.xml есть тег с именем profiles. Вы можете добавить новый профиль там с указанными модулями. Например:

<profile>
<id>dev</id>
<modules>
    <module>your-module</module>                
    <module>ejbs-for-your-module</module>               
</modules>  
</profile>

После этого вы можете создать свой проект, используя профиль с Maven. Например, если вы хотите использовать профиль "dev":

mvn clean install -Pdev

Или вы можете написать развертывание script, которое сделает для вас необходимые ручные задачи. Обычно разработчики пишут сценарии bash/batch, которые очищают цели, строят необходимые вещи, забирают войны и копируют их в папку развертывания.