//
http://www.playframework.com/
http://www.playframework.org/已经被废弃
Play Version:2.3.1
The Play team is pleased to announce the release of Play 2.3.0!
What’s new inPlay2.3
Introducing the activator command. You can useactivator exactly like you would use play, but Activator brings new features too. (More about the Activator change.)
Better tooling for static assets.Play now uses sbt-web which gives faster asset processing, more features, and better extensibility.
Support forJava 8 (and continued support for Java 6 and 7).
BetterJava performance. Simple Java controllers give 40–90% better throughput. (Thanks toYourKit for sponsoring licenses.)
Support forScala 2.11 (and continued support for Scala 2.10).
Anorm enhancements: SQL string interpolation, multi-value parameters, new types, and more.
Web Services enhancements: separate client, SSL configuration, and more.
Play templates have become Twirl templates: separate project, new sbt plugin, still excellent integration withPlay
Actors for WebSockets
Custom SSLEngine for HTTPS
Asset performance: faster serving, better caching.
One Result to rule them all: all the result types which were deprecated in 2.2 are now gone and only Result remains.
Lots of bug fixes. :)
For details see the Play2.3 Highlights and thePlay2.3 Migration Guide.
typesafe activator 1.2.3
installing
下载完整的zip文件,而不是min。
There are three ways to run activator:
1. Recommended: try `activator ui` to create a project in the UI
2. Use `activator new` to create a project on the command line
3. Load an existing project by re-running activator in a project directory
activator ui
[error] p.nettyException - Exception caught in Netty
java.lang.IllegalArgumentException: invalid version format
http://stackoverflow.com/questions/21667254/play-framework-2-2-1-https-fails-on-connection-attempt
keytool -genkey -alias MyKey -keyalg RSA -keysize 2048 -keystore keystore.jks
play -Dhttps.port=9443 -Dhttps.keyStore=keystore.jks -Dhttps.keyStorePassword=password run
上面说使用这个命令就解决了问题。
我试过了
activator new my-first-app play-java
提示说找不到template,因为无法去访问某个地址。
于是设置了~/.activator/activatorconfig.txt
<span style="font-size:14px;"><span style="font-size:14px;"># This are the proxy settings we use for activator -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8580 # Here we configure the hosts which should not go through the proxy. You should include your private network, if applicable. -Dhttp.nonProxyHosts="localhost|127.0.0.1|davidzhang-pc|192.168.0.104"</span></span>
cd my-first-app
activator
$run
出错
stackflow里面提到了解决方法,不能使用9000端口!org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:9000
$run 9001
<span style="font-size:14px;"><span style="font-size:14px;">[my-first-app] $ run 9001
--- (Running the application from SBT, auto-reloading is enabled) --
[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9001
(Server started, use Ctrl+D to stop and go back to the console...)</span></span>
Available Template
<span style="font-size:14px;"><span style="font-size:14px;">E:\Workspaces\play>activator list-templates
Fetching the latest list of templates...
七月 14, 2014 7:30:58 下午 com.amazonaws.http.HttpClientFactory createHttpClient
信息: Configuring Proxy. Proxy Host: localhost Proxy Port: 8xxx
Featured Seed Templates:
minimal-java
minimal-scala
play-java
play-scala
Featured Tutorial Templates:
hello-akka
hello-scala
hello-slick-2.1
reactive-maps
reactive-stocks
Other Seed Templates:
gilt-lib
just-play-java
just-play-scala
play-silhouette-seed
play-silhouette-seed-slick
webjars-sample-play2
Other Tutorial Templates:
activator-akka-cassandra
activator-akka-scala-guice
activator-akka-spray
activator-akka-tracing
activator-gilt-app
activator-play-autosource-reactivemongo
activator-scalding
activator-spray-twitter
agile-scala-android-example
akka-callcenter
akka-camel-cxf-weather
akka-circuit-breaker-java
akka-cluster-sharding-scala
akka-clustering
akka-custom-dispatcher
akka-distributed-workers
akka-distributed-workers-java
akka-java-spring
akka-persistence-event-sourcing
akka-sample-camel-java
akka-sample-camel-scala
akka-sample-cluster-java
akka-sample-cluster-scala
akka-sample-fsm-java-lambda
akka-sample-fsm-scala
akka-sample-main-java
akka-sample-main-java-lambda
akka-sample-main-scala
akka-sample-multi-node-scala
akka-sample-persistence-java
akka-sample-persistence-java-lambda
akka-sample-persistence-scala
akka-sample-remote-java
akka-sample-remote-scala
akka-scala-spring
akka-spray-websocket
akka-stream-scala
akka-supervision
akka-supervision-java-lambda
akka-with-esper
angular-seed-play
atomic-scala-examples
config-guice-akka-spray
dart-akka-spray
eventual
finagle-quickstart
hazelcast-spray-akka
hello-akka-java8
hello-apache-spark
hello-play-2_3-scala
hello-play-backbone
hello-play-java
hello-play-scala
hello-sbt
hello-scala-2_11
hello-scala-eclipse
hello-scaladin
hello-scaloid
hello-slick
lolcode-dsl
macroid-akka-pingpong
macwire-activator
matthiasn-sse-chat-template
mirror
modern-web-template
play-2.3-highlights
play-akka-angular-websocket
play-akka-cluster-sample
play-angular-require-seed
play-angularjs-webapp-seed
play-bigpipe-with-rxjava-hystrix
play-cake
play-example-form
play-guice
play-hbase
play-iteratees
play-java-spring
play-mongo-knockout
play-reactive-mongo
play-scala-backbone-todo
play-scalatest-subcut
play-slick
play-slick-advanced
play-slick-bootstrap3
play-slick-quickstart
play-spring-data-jpa
play-sqlite
play-tls-example
play-web-portal
play-websocket
play-yeoman
play2-crud-activator
play2bars-squeryl
PlayStartApp
rabbitmq-akka-stream
reactive-gen-easymda
reactive-java8-play
reactive-maps-java
reactive-orientation
reactive-scales
reactive-stocks-java8
realtime-search
redis-twitter-clone
sbt-github-project-template
sbt-jmh-seed
sbt-native-package-server
scala-phantom-types
scala-testing
scaldi-akka-example
scaldi-play-example
scalikejdbc-activator-template
securesocial-slick-bootstrap3-sample
six-minute-apps
slick-android-example
slick-codegen-customization-example
slick-codegen-example
slick-direct
slick-direct-2.1
slick-multidb
slick-multidb-2.1
slick-plainsql
slick-plainsql-2.1
slick-testkit-example
slick-testkit-example-2.1
snakeyard
spark-in-action
spark-streaming-scala
spark-streaming-scala-akka
spark-workshop
spray-actor-per-request
sse-chat-template-java
tcp-async
template-template
test-patterns-scala
tweetmap-java8
tweetmap-workshop
vaadin-in-akka</span></span>
$console
使用IDE调试debug play app:
step1:activator your application with a debug port
activator -jvm-debug 9999
step2:add a debug configuration in IDE
and in Eclipse right-click on the project and select Debug As, Debug Configurations. In the Debug Configurations dialog, right-click on Remote Java Application and select New. Change Port to 9999 and click Apply. From now on you can click on Debug to connect to the running application. Stopping the debugging session will not stop the server.
step3:run app listending a port
run
9001
step4:add breakpoints in play project app sourcecode
step5:input a url in a browser, test your web app:
http://localhost:9001
///
Scala + Play + Sbt + Protractor = One Build
========================
一位朋友分享的项目
http://my.oschina.net/smeite/blog/184350
https://github.com/smeite/smeite
食美特的项目地址在 https://github.com/smeite/smeite 已经有好几个月没有更新了,感兴趣的朋友可以去玩玩。整个网站采用playframework2.1+slick+mysql做的架构,有 52个 数据表,前端js使用的是seajs 2.1 和淘宝前端aralejs javascript框架。网站的访问速度和压力都非常不错,做了很多优化,更兴趣的朋友可以去github上看看。
//
Play源代码分析:Server启动过程(play1.x)
-------------------------------------------
这是我要的模板
https://typesafe.com/activator/template/reactive-maps-java