web-dev-qa-db-fra.com

Grails 2.3.0 Le rechargement automatique ne fonctionne pas

J'ai récemment mis à niveau notre projet vers Grails 2.3.0. Tout fonctionne bien, sauf que j'ai eu des problèmes avec le rechargement automatique qui ne fonctionne pas chaque fois que je modifie notre code. Cela inclut tous les artefacts de projets - contrôleurs, domaine, services, gsps, css et fichiers javascript.

Mes anciennes versions de Grails fonctionnent correctement et se rechargent et se recompilent chaque fois que je fais un changement.

Je sais que cette question est populaire et j'ai cherché Jira, Nabble et ici depuis des jours maintenant, mais rien de ce que j'ai trouvé n'a pu résoudre mon problème (j'ai même essayé d'ajouter des citations comme Peter l'a suggéré dans ce fil http://jira.grails.org/browse/GRAILS-7936 et aussi ce fil Grails Project Not Auto Reloading n'a pas aidé).

J'exécute actuellement Grails sur un Macbook pro avec les paramètres suivants:

  • grails version 2.3.0
  • Java version "1.7.0_17" Java (TM) SE Runtime Environment (build 1.7.0_17-b02) Java HotSpot (TM) 64-Bit Server VM (build 23.7-b01, mode mixte)
  • Exécution à partir d'un terminal avec Textmate comme IDE

Toute aide serait grandement appréciée.

39
Emmanuel John

Il semble que dans Grails 2.3 le rechargement n'est plus la valeur par défaut

Dans Grails 2.3, l'agent de rechargement n'est plus sur le chemin du système de construction, sauf si vous passez l'indicateur -reloading à la commande grails:

grails-rechargement run-app

Cependant, vous pouvez activer le forking dans votre buildConfig à l'aide de la configuration suivante:

forkConfig = [maxMemory: 1024, minMemory: 64, debug: false, maxPerm: 256] 
grails.project.fork = [    
  test: forkConfig, // configure settings for the test-app JVM    
  run: forkConfig, // configure settings for the run-app JVM    
  war: forkConfig, // configure settings for the run-war JVM    
  console: forkConfig // configure settings for the Swing console JVM ]

Plus d'informations: Forked Execution and the Reloading Agent

50
Alidad

J'utilise Grails 2.4.3 et IntelliJ 13 et j'ai constaté que je devais avoir le -reloading partie à la fin du run-app commande.

En d'autres termes, lorsque vous modifiez vos configurations Run/Debug, dans la partie "Ligne de commande", mettez run-app -reloading et pas -reloading run-app.

J'ai trouvé cette solution ici de l'utilisateur longwa

8
Tim

Grails 2.4.x a maintenu le même support:

grails -reloading run-app

Les journaux afficheront l'état du rechargement une fois qu'un fichier "surveillé" change dans le système de fichiers:

2014-09-23 00:42:02,666 [localhost-startStop-1] INFO  conf.BootStrap  - Checking for registries in system env
| Server running. Browse to http://localhost:8080/docker-registry-ui
| Compiling 1 source files.....
7
Marcello de Sales

Je n'ai pas pu résoudre mon problème de rechargement par l'une des suggestions ci-dessus. Dans mon cas, le problème était mon chemin, il contenait un espace! Cela m'a pris quelques jours et demi de ma barbe, mais j'ai finalement compris. Mon chemin était quelque chose comme: ~/Box Sync/path/to/project. Cet espace unique dans Box Sync était le méchant caché. Je pense que c'est lié à ce billet https://github.com/grails/grails-core/issues/9344 .

3
abdielou

Je n'ai pas besoin d'exécuter avec -reloading dans la ligne de commande, son problème de springloaded.jar.

remplacer le dossier springloaded dans grailsHome/lib/org.springframework/springloaded avec le of grails sdk 2.4.3

https://mega.co.nz/#F!INgVnboD!r7ssrFy9TiCQ50ROqxWt8g

J'ai testé dans les Grails 2.5.0 et 2.4. *

2
Samuel Ivan