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.
Modifiez la valeur http.port
dans le fichier conf/application.conf
ou passez-la en ligne de commande:
play run --http.port=8080
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
ouactivator
). Les commandes ci-dessous utilisent le lanceur desbt
, mais vous pouvez le remplacer par le lanceur 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 le port d’écoute http sur le port 8080
, exécutez:
sbt -jvm-debug 9999 "run 8080"
Commencez en mode Prod:
sbt "start -Dhttp.port=8080"
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
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.