Hot deploy Liferay Maven portlet de Intellij Idea à Liferay Tomcat livré

je développe un portlet Liferay et je ne supporte pas d'attendre que Maven construise le .dossier de guerre et copie ça .la guerre de LifeRay auto-répertoire deploy pour enfin attendre (encore une fois) jusqu'à ce que LifeRay finitions de déploiement. C'est pourquoi je veux construire, démarrer Tomcat (livré avec LifeRay) et déployer mon portlet avec tout à travers Intellij IDEA, avec déploiement à chaud activé.

j'ai essayé avec Running Liferay de IntelliJ (de Liferay Wiki) mais ne peut pas le faire fonctionner.

j'ai aussi essayé avec les questions suivantes, mais sans résultat:

environnement:

  • Liferay CE 6.1.1 (Tomcat bundle).
  • projet Maven à l'aide de l'archétype: liferay-portlet-archétype .
  • Intellij IDEA 12.1.2.
  • JDK 6.

Quelqu'un sait-il comment le faire?

21
demandé sur Community 2013-05-11 00:12:39

1 réponses

déployez .la guerre de fichier sur un serveur (Liferay+Tomcat Bundle) --> Parle de dropant .le fichier war dans le répertoire liferay deploy et ce n'est pas autodeploy.

techniquement, il s'agit d'un déploiement automatique, car il est géré par le AutoDeploy Scanner de votre serveur d'application , mais ce n'est probablement pas ce que vous entendez par déploiement automatique ou déploiement à chaud .

Comment faire programmer efficacement les portlets en utilisant Liferay et Maven? -- >Je veux configurer Intellij IDEA, Je ne veux pas utiliser un autre IDE. Je n'ai pas essayé avec JRebel.

l'idée déchire, ne la changez pas. Cependant, même si je n'utilise pas JRebel personnellement, j'ai entendu beaucoup de réactions positives de collègues qui l'utilisent.. Ne pas jeter cette option - vous pourriez vouloir consulter ce tutoriel ou peut-être celui-ci .

maintenant pour la réponse-ish partie: cela peut être plus d'un bout, qu'une solution exacte, mais je l'utilise depuis longtemps. Si vous ne voulez pas redéployer le module entier qui doit être construit, vous pouvez le déployer à chaud avec IDEA si votre serveur est configuré pour autoriser le débogage à distance .

quand vous faites quelques changements dans votre code et que vous voulez le tester, connectez-vous à votre exécution application server comme si vous alliez le déboguer à distance et compiler la classe que vous avez changée. Il fera automatiquement un déploiement à chaud. Ensuite déconnectez/mettez fin au débogage et allez vérifier vos changements!

cela ne fonctionne pas si vous changez trop les structures de vos classes, ou changez les arguments de la méthode, mais c'est une grande aide lorsque vous essayez de fixer par exemple un pointeur nul à l'intérieur de votre corps de méthodes. Il suffit de connecter et de les compiler.

Hope cela vous aide un peu si vous ne voulez pas utiliser votre produit.

Astuce: Si vous voulez simplifier votre déploiement en utilisant la méthode de déploiement automatique (dossier "déployer"), alors vous pouvez l'accélérer en spécifiant seulement les modules que vous voulez construire, en créant un profil:

dans votre main (niveau supérieur) pom.xml il y a une étiquette appelée profils . Vous pouvez ajouter un nouveau profil avec les modules spécifiés. Par exemple:

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

après cela, vous pouvez construire votre projet en utilisant le profil avec Maven. Par exemple, si vous voulez utiliser le profil "dev":

mvn clean install - Pdev

ou vous pouvez écrire un script de déploiement qui fera les tâches manuelles nécessaires pour vous. Il est assez courant que les développeurs écrivent des scripts bash / batch qui nettoient les cibles, construisent les trucs nécessaires, récupèrent les guerres et les copier dans le dossier deploy.

1
répondu Dropout 2014-02-06 07:34:24