2013-04-30 1 views
6

J'utilise le cadre de jeu 2.0.4,Quelle est la différence entre l'utilisation de play start et play run?

je remarquai que dans le dossier du projet, si je play start, les réponses du serveur plus rapide que le serveur a commencé par play run. Cependant, l'utilisateur ne peut accéder à des ressources statiques dans le dossier public dans le démarrage du serveur en utilisant la commande start, alors je me demande ce qui est la configuration par défaut start que changer le répertoire racine ou dois-je besoin de changer les routes qui à l'origine définies comme:

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 
HEAD /assets/*file    controllers.Assets.at(path="/public", file) 

Répondre

10

La commande play start doit être exécutée lorsque vous souhaitez déployer votre application sur mode de production. C'est la réponse plus rapide, car auto-reloading-class et autres fonctionnalités de développement-support sont désactivées par défaut.

Contrairement commande play start, la commande est play run mieux exécutée en mode de développement car il permettra à tous le développement de soutien-fonctionnalité comme auto-rechargement, eBean génération DDL, et ainsi sur.

En fait, si vous avez un fichier javascript sur public/javascripts/jquery-1.9.0.min.js. Vous pouvez toujours accéder à l'URL http://yourdomain/assets/javascripts/jquery-1.9.0.min.js même si vous utilisez play start ou play run parce que les fichiers sont mis en correspondance public/* à /assets/*

Et à noter que la commande play start fait le processus en arrière-plan , alors que play run pas.

+0

Merci pour la réponse! Je pense avoir trouvé le problème pour lequel les asserts ne sont pas accessibles en mode production avec 'start': parce que mon programme génère dynamiquement des fichiers statiques, où le début précompilera * tous * les fichiers et ne pourra pas accéder aux fichiers statiques générés dynamiquement. des dossiers. Mais si je veux utiliser le mode production, je ne sais pas comment résoudre ce problème pour le moment. – monica

+0

Hmm, j'ai juste essayé de placer n'importe quel fichier texte (disons dynamic.file.txt) sur 'projectname/target/scala-2.10/classes/public/dynamic.file.txt' pendant le démarrage de l'application (' play start'). Et ce qui s'est passé est, je peux accéder au fichier nouvellement ajouté à l'URL 'http: // votredomaine/assets/dynamic.file.txt' .. Vous pouvez l'essayer, ami! ;) –

Questions connexes