2014-07-13 2 views
1

Erreur | serveur n'a pas démarré pour le port 8080: Adresse déjà utilisée: JVM_Bind (Utilisez --stacktrace pour voir la trace complète)Erreur d'exécution du projet Grails -Le serveur n'a pas pu démarrer pour le port 8080: Adresse déjà utilisée: JVM_Bind

Quand je vais exécuter mon deuxième projet Grails fois à l'aide --- 2 Grails Commande (run-app) frappé avec ce type d'erreur à chaque fois.

Mais quand je tue le javaw.exe en utilisant le Gestionnaire des tâches, alors si je vais courir à nouveau cela fonctionne pour moi. Y at-il une solution permanente pour cela? .. Pls suggèrent.

| Application Packaging Grails ..

| 10 fichiers Compiler source ..

| 121 fichiers Compiler sources .......

| 9 fichiers Compiler sources .. .......................

| Lancement d'applications Grails

d'erreur | Serveur n'a pas démarré pour le port 8080: Adresse déjà utilisée: JVM_Bind (Utilisez --stacktrace pour voir la trace complète)

+0

Qu'en est-il arrêter le serveur, avant d'exécuter "run-app" à nouveau? – rimero

+0

Comment arrêter (arrêter) le serveur en cours d'exécution dans l'outil GGTS? –

+0

Je crois qu'il y a un bouton d'arrêt dans la sortie "Console", recherchez un rectangle rouge. – rimero

Répondre

4

Vous pouvez spécifier le port HTTP pour exécuter le serveur en utilisant le cli:

exemple:

grails -Dserver.port=8090 run-app 

Plus de détails dans la documentation

+0

Grails 2.3.8 est actuellement utilisé. Merci beaucoup, mais quand j'ai utilisé mon projet en utilisant ** '2 Grails Command (run-app)' ** il me montre à nouveau le même message d'erreur. Quelle est l'utilisation de 'grails -Dserver.port = 8090 run-app' –

+0

Si vous utilisez Grails/Groovy Tool Suite (IDE basé sur Eclipse), sélectionnez ** Exécuter en tant que> Exécuter les configurations .... Ensuite, dans Grails tab, ** entrez comme ceci: ** - Dserver.port = 8050 run-app ** Ainsi, Grails fonctionnera sur le port 8050 au lieu du port par défaut (8080). –

+0

Avec cette commande, vous pouvez exécuter un serveur sur le port 8080 et le deuxième sur le port 8090. – Abincepto

1

Avec la dernière version de Grails (de 2.3.0), le réglage par défaut est d'exécuter le serveur en mode fourchue. Vous pouvez trouver cette config dans BuildConfig.groovy:

grails.project.fork = [ ... ] 

Avec le mode fourchue ci-dessus activé run-app, l'application doit être arrêté avant explicitement relancée. Par conséquent, grails stop-app doit être émis avant grails run-app.

Si vous ne voulez pas exécuter l'application en mode fourchue, puis remplacez cette ligne avec run:false:

run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false] 

Avec cela, il n'y aura pas besoin d'exécuter explicitement la commande stop-app.

+0

Pourriez-vous s'il vous plaît expliquer ce qu'est la fourchette et ce qui est nécessaire dans mon projet. Et si je ne l'utilise pas? –

+0

Reportez-vous à [** Grails documentation **] (http://grails.org/doc/latest/guide/commandLine.html#forkedMode). – dmahapatro

+0

Merci beaucoup pour votre suggestion .. :) –

3

Lorsque vous exécutez l'application pour la première fois, elle continuera à s'exécuter jusqu'à ce que vous lui disiez explicitement d'arrêter. Peu importe comment vous démarrez l'application (que ce soit à partir de GGTS ou de l'invite de commande) jusqu'à ce que vous envoyez la commande stop-app il continuera. Vous obtenez l'erreur que vous avez rencontrée:

Error | Server failed to start for port 8080: Address already in use: JVM_Bind (Use --stacktrace to see the full trace) 

lorsque ce serveur est toujours en cours d'exécution. Grails compilera vos modifications au fur et à mesure que vous les créerez et vous pourrez voir les résultats sur votre page Web immédiatement (pour la plupart des changements, apporter des modifications aux objets de votre domaine peut être problématique et nécessitera souvent de redémarrer votre serveur).

Personnellement, je préfère modifier le projet dans GGTS, mais utiliser une console pour gérer l'application simplement parce que je préfère l'erreur sortie de la console au lieu de GGTS.

0

Ouvrir BuildConfig.groovy

Solution 1: Remplacez ensuite cette ligne avec course: false run: [MaxMemory: 768, minMemory: 64, debug: false, maxperm: 256, forkReserve: false] ,

Solution 2: commentaire ligne précédente

+0

Si je commente sur la ligne de course existante avec run: false alors qu'est-ce qui s'est passé? Pourquoi cette ligne d'exécution est-elle mentionnée par défaut si nous devons changer celle-là? Pourriez-vous s'il vous plaît préciser et obtenir me autorisé à propos de tout cela .... thnks .. :) –

+0

solution 1: Pouvez-vous spécifier quelle ligne il est censé remplacer avec quoi? solution 2: commenter quelle ligne précédente? –

Questions connexes