Comment changer le port par défaut (9000) utilisé par Play lorsque j’exécute la commande «run»?

Comment puis-je modifier le port par défaut utilisé par la structure de lecture en mode développement lors de l’émission de la commande “exécuter” sur la console de lecture.

C’est pour playframework 2.0 beta.

L’utilisation du paramètre de configuration http.port sur la ligne de commande ou dans l’application.conf semble n’avoir aucun effet:

C:\dev\prototype\activiti-preso>play run --http.port=8080 [info] Loading project definition from C:\dev\prototype\activiti-preso\project [info] Set current project to activiti-preso (in build file:/C:/dev/prototype/activiti-preso/) Windows, really? Ok, disabling colors. --- (Running the application from SBT, auto-reloading is enabled) --- [error] org.jboss.netty.channel.ChannelException: Failed to bind to: 0.0.0.0/0.0.0.0:9000 [error] Use 'last' for the full log. 

Jouer 1.x

Modifiez la valeur http.port dans le fichier conf/application.conf ou passez-la en ligne de commande:

 play run --http.port=8080 

Jouer 2.x

Play 2.x est un plug-in avec sbt, donc les commandes suivantes ne sont que des commandes sbt. Vous pouvez utiliser n’importe quel lanceur de sbt (par exemple, sbt , play ou activator ). Les commandes ci-dessous utilisent le lanceur de sbt , mais vous pouvez le remplacer par le lanceur de votre choix.

Play 2.x – Mode Dev

Pour le mode de rechargement du navigateur:

 sbt "run 8080" 

Pour le mode de rechargement continu:

 sbt "~run 8080" 

Play 2.x – Mode de débogage

Pour exécuter en mode débogage avec le port d’écoute http sur le port 8080 , exécutez:

 sbt -jvm-debug 9999 "run 8080" 

Play 2.x – Mode Prod

Commencez en mode Prod:

 sbt "start -Dhttp.port=8080" 

Play 2.x – Dissortingbution par étapes

Créez une dissortingbution par étapes:

 sbt stage 

Pour Play 2.0.x et 2.1.x, utilisez le script target/start (Unix uniquement):

 target/start -Dhttp.port=8080 

Pour Play 2.2.x & 2.3.x, utilisez le script de démarrage approprié dans le répertoire target/universal/stage/bin :

 target/universal/stage/bin/[appname] -Dhttp.port=8080 

Avec Play 2.2.x & 2.3.x sous Windows:

 target\universal\stage\bin\[appname].bat -Dhttp.port=8080 

Play 2.x – Zip Dissortingbution

Pour créer une dissortingbution zip:

 sbt dist 

Pour Play 2.0.x et 2.1.x, utilisez le script de start (Unix uniquement) dans le fichier zip extrait:

 start -Dhttp.port=8080 

Pour Play 2.2.x, utilisez le script approprié dans le [appname]-[version]/bin :

 [appname]-[version]/bin/[appname] -Dhttp.port=8080 

Avec Play 2.2.x sous Windows:

 [appname]-[version]\bin\[appname].bat -Dhttp.port=8080 

Play 2.0-RC4

Il est important d’inclure des guillemets autour de la commande de lecture que vous souhaitez exécuter. Dans mon cas, sans les citations, le jeu continuerait à fonctionner sur le port 9000.

 play "run 8080" 

Vous pouvez également exécuter les opérations suivantes à partir de la console de lecture (tapez “play” pour accéder à la console).

 run 8080 

Version 2.0.3 :

  • Allez dans le répertoire du projet et dites simplement jouer (et rien après). Cela ouvrira la console de lecture.

  • Ensuite, dites 8080 . Cela va commencer à jouer sur le port 8080.

J’espère que ça aide.

Pour Play 2.2.x sous Windows avec un fichier tar dissortingbuable, j’ai créé un fichier dans le répertoire racine dissortingbuable appelé: {PROJECT_NAME} _config.txt et ajouté:

 -Dhttp.port=8080 

Où {PROJECT_NAME} doit être remplacé par le nom de votre projet. Commence alors le script {PROJECT_NAME} .bat comme d’habitude dans le répertoire bin \.

Pour jouer 2.3.x

activateur “exécuter -Dhttp.port = 9001”

J’espère que cela aide quelqu’un.

via les parameters sbt:

 ... .settings(PlayKeys.playDefaultPort := 8855) ... 

Vous pouvez également définir le port HTTP dans .sbtopts dans le répertoire du projet:

 -Dhttp.port=9001 

Ensuite, vous n’avez pas à vous souvenir de l’append à la tâche d’ run chaque fois.

Testé avec Play 2.1.1.

Play 2.2.0 sur Windows

En utilisant une dissortingbution zip (produite à l’aide de la commande “dist”), la seule façon de modifier le port de démarrage consistait à définir JAVA_OPTS, puis à lancer l’application.

Par exemple, depuis la ligne de commande

 set JAVA_OPTS=-Dhttp.port=9002 bin\myapp.bat 

où myapp.bat est le fichier batch créé par la commande “dist”.

Les éléments suivants ignorent toujours mon paramètre http.port et tentent de démarrer sur le port par défaut, 9000

 bin\myapp.bat -Dhttp.port=9002 

Cependant, j’ai remarqué que cela fonctionne bien sur Linux / OSX, en démarrant sur le port demandé:

 ./bin/myapp -Dhttp.port=9002 

Sous Windows, le jeu “run 9001” ne fonctionnera peut-être pas. Vous devez changer le fichier play.bat. Voir billet

pour Play 2.5.x et Play 2.6.x

 sbt "-Dhttp.port=9002" 

puis

 run 

Cela ne fonctionne pas encore dans la version bêta. Sera ajouté dans une prochaine version.

Avec le commit introduit aujourd’hui (25 novembre), vous pouvez maintenant spécifier un numéro de port juste après l’ run ou start commandes sbt.

Par exemple

play run 8080 ou play start 8080

Lecture par défaut du port 9000

À partir de la console de lecture, il vous suffit de taper run 8888 si vous souhaitez l’exécuter à partir du port 8888.

 play> run 8888 

pour jouer 2.5.x

Étape 1: Arrêtez le serveur netty (s’il est en cours d’exécution) à l’aide de control + D

Étape 2: aller à sbt-dist / conf

Etape 3: éditez ce fichier ‘sbtConfig.txt’ avec ceci

 -Dhttp.port=9005 

Étape 4: Démarrer le serveur

Étape 5: http: // hôte: 9005 /

Sur Windows, j’utilise un fichier start.bat comme ceci:

 java -Dhttp.port=9001 -DapplyEvolutions.default=true -cp "./lib/*;" play.core.server.NettyServer "." 

-DapplyEvolutions.default = true indique à évolution d’appliquer automatiquement les évolutions sans demander de confirmation. Utilisez avec prudence sur l’environnement de production, bien sûr …

Play 2.2.1 sous Windows prend en charge une variable d’environnement PLAY_OPTS. Le fichier play.bat de Play contient cette ligne:

 java -Dsbt.ivy.home="%~dp0repository" -Dplay.home="%~dp0framework" -Dsbt.boot.properties="%fp%framework/sbt/play.boot.properties" %PLAY_OPTS% -jar "%~dp0framework\sbt\sbt-launch.jar" %* 

pour courir sur le port 9002, faire

 set PLAY_OPTS=-Dhttp.port=9002 play run 

Testé avec le framework de jeu 2.3.7. Fonctionne bien.

 ./{application}/bin/{executable} -Dhttp.port=5000 

Nous ne pouvons pas changer le port d’application de l’avtivator, mais nous pouvons changer à partir de l’activateur de ligne de commande “~ exécuter 8080”

Mais pour pouvoir utiliser le poète 9000 à partir de l’activateur, nous devons arrêter l’application qui utilise ce port. Nous pouvons utiliser cette application pour trouver ceci et mettre fin au processus https://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

Après cela, nous pouvons courir et ça va réussir.

J’ai fait ça. sudo est nécessaire.

 $ sudo play debug -Dhttp.port=80 ... [MyPlayApp] $ run 

EDIT: J’ai eu des problèmes à cause de l’utilisation de sudo alors sudo attention. Finalement, j’ai nettoyé le projet et je n’ai plus utilisé cette astuce.

Nous utilisons la version Play 2.5.6.

Pour changer le port, allez dans le dossier racine de votre projet et cliquez sur: activator "run 8008" dans l’invite de commande / terminal.

et c’est tout.