Comment puis-je changer le port par défaut utilisé par la structure de jeu en mode développement lors de l'exécution de la commande "run" sur la console de lecture?.
Ceci est pour playframework 2.0 beta.
L'utilisation du paramètre de configuration http.port sur la ligne de commande ou dans le fichier 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.
Modifiez la valeur http.port
dans le fichier conf/application.conf
ou transmettez-la en ligne de commande:
play run --http.port=8080
Play 2.x est un plugin sbt, les commandes suivantes ne sont donc que des commandes sbt. Vous pouvez utiliser n'importe quel lanceur sbt (par exemple,
sbt
,play
ouactivator
). Les commandes ci-dessous utilisent le lanceursbt
, mais vous pouvez le remplacer par le lanceur sbt de votre choix.
Pour le mode de rechargement du navigateur:
sbt "run 8080"
Pour le mode de rechargement continu:
sbt "~run 8080"
Pour exécuter en mode débogage avec l'écouteur http sur le port 8080
, exécutez:
sbt -jvm-debug 9999 "run 8080"
Démarrer en mode Prod:
sbt "start -Dhttp.port=8080"
Créez une distribution 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 et 2.3.x sous Windows:
target\universal\stage\bin\[appname].bat -Dhttp.port=8080
Pour créer une distribution Zip:
sbt dist
Pour Play 2.0.x et 2.1.x, utilisez le script start
(Unix uniquement) dans le fichier Zip extrait:
start -Dhttp.port=8080
Pour Play 2.2.x, utilisez le script approprié dans le répertoire [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
Jouer 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 guillemets, la lecture serait toujours exécutée 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
J'espère que ça aide quelqu'un.
via les paramètres sbt:
...
.settings(PlayKeys.playDefaultPort := 8855)
...
Version 2.0.:
Allez dans le répertoire du projet et dites simplement jouer (et rien après ça). Cela ouvrira la console de jeu.
Ensuite, dites run 808. 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 distribuable, j'ai créé un fichier dans le répertoire racine distribuable appelé: {PROJECT_NAME} _config.txt et ajouté:
-Dhttp.port=8080
Où {PROJECT_NAME} doit être remplacé par le nom de votre projet. Puis le script {PROJECT_NAME} .bat a démarré comme d’habitude dans le répertoire bin \.
Jouer 2.2.0 sur Windows
En utilisant une distribution Zip (produite à l'aide de la commande "dist"), le seul moyen de changer 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 de commandes 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 correctement sous Linux/OSX, en démarrant sur le port demandé:
./bin/myapp -Dhttp.port=9002
Pour jouer 2.3.x
activateur "run -Dhttp.port = 9001"
Vous pouvez également définir le port HTTP dans .sbtopts
dans le répertoire du projet:
-Dhttp.port=9001
Ensuite, vous ne devez pas oublier de l'ajouter à la tâche run
à chaque fois.
Testé avec Play 2.1.1.
pour Play 2.5.x et Play 2.6.x
sbt "-Dhttp.port=9002"
ensuite
run
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: allez à sbt-dist/conf
Étape 3: éditez ce fichier 'sbtConfig.txt' avec ceci
-Dhttp.port=9005
Étape 4: démarrez le serveur
Étape 5: http: // Host: 9005 /
Sous Windows, la pièce "run 9001" ne fonctionnera peut-être pas. Vous devez changer le fichier play.bat. Voir Ticket
À partir de la console de lecture, il vous suffit de taper exécuter 8888 si vous souhaitez l’exécuter à partir du port 8888.
play> run 8888
Avec le commit introduit aujourd'hui (25 novembre), vous pouvez maintenant spécifier un numéro de port juste après les commandes run
ou start
sbt.
Par exemple
play run 8080
ou play start 8080
Les valeurs par défaut du port sont 9000
Nous utilisons Play version 2.5.6.
Pour changer le port, accédez au dossier racine de votre projet et appuyez sur: activator "run 8008"
dans la commande Invite/terminal.
et c'est tout.
Play 2.2.1 sur 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" %*
afin de fonctionner sur le port 9002, faites
set PLAY_OPTS=-Dhttp.port=9002
play run
Testé avec le cadre de jeu 2.3.7. Fonctionne bien.
./{application}/bin/{executable} -Dhttp.port=5000
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 faites attention. Finalement, j'ai nettoyé le projet et je n'ai plus utilisé cette astuce.
Nous ne pouvons pas changer le port de l'application depuis l'avtivator mais nous pouvons changer de l'activateur de ligne de commande "~ run 8080"
Mais pour exécuter le poète 9000 de l'activateur, nous devons arrêter l'application qui utilise ce port. Nous pouvons utiliser cette application pour trouver ceci et terminer le processus https://technet.Microsoft.com/en-in/sysinternals/bb897437.aspx
Après cela, nous pouvons courir et ce sera un succès.
Sur Windows, j'utilise un fichier start.bat comme ceci:
Java -Dhttp.port=9001 -DapplyEvolutions.default=true -cp "./lib/*;" play.core.server.NettyServer "."
Le paramètre -DapplyEvolutions.default = true indique à l'évolution d'appliquer automatiquement les évolutions sans demander de confirmation. Utilisez avec prudence sur l'environnement de production, bien sûr ...
Ajoutez simplement la ligne suivante dans votre build.sbt
PlayKeys.devSettings := Seq("play.server.http.port" -> "8080")