我是Play的新手!Framework 2.1(java版)并没有使用scala的经验.我不明白Build.scala 中的内容%
和%%
含义.我用Google搜索了他们但却找不到他们的意思.
在我的Build.scala文件中,我有:
"org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final",
"com.typesafe" %% "play-plugins-mailer" % "2.1"
Run Code Online (Sandbox Code Playgroud)
为什么第一行使用单个%符号而第二行使用2%符号%%
?它们适用于什么?
如何将Play JSON库(play.api.libs.json
)添加到我的sbt项目中?
当我将以下内容添加到我的plugins.sbt
文件中时:
addSbtPlugin("play" % "sbt-plugin" % "2.1.0")
Run Code Online (Sandbox Code Playgroud)
我遇到了这个错误:
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: play#sbt-plugin;2.1.0: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)
我没有找到这个库的解析器,否则我会添加它并运行sbt update
.请注意,我resolvers
包括http://repo.typesafe.com/typesafe/releases/.
在游戏中2.1读取用于将Json编组为对象.但是当case类只有一个字段时,我怎么能这样做呢.适用于更多字段的ideom不起作用,因为没有使用一个字段'和'.因此我没有得到FunctionBuilder.
以下代码给出了类型不匹配的信息.我怎样才能解决这个问题?
case class Data(stamm: Seq[String])
implicit val dataReads = (
(__ \ "stamm").read(Reads.list[String])
)(Data)
Run Code Online (Sandbox Code Playgroud) 当我运行我的应用程序时,浏览器显示
[ExecutionException: Boxed Error]
Run Code Online (Sandbox Code Playgroud)
它没有说明行号等.
在控制台中,我有以下内容
! @6elaah0c8 - Internal server error, for (GET) [/testlearn] ->
play.api.Application$$anon$1: Execution exception[[ExecutionException: Boxed Error]]
at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.1]
at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.1]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$17$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:326) [play_2.10.jar:2.1.1]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$17$$anonfun$apply$24.apply(PlayDefaultUpstreamHandler.scala:324) [play_2.10.jar:2.1.1]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.1]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.1]
java.util.concurrent.ExecutionException: Boxed Error
at scala.concurrent.impl.Promise$.resolver(Promise.scala:52) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at scala.concurrent.impl.Promise$.scala$concurrent$impl$Promise$$resolveTry(Promise.scala:44) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:116) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at scala.concurrent.Promise$class.complete(Promise.scala:55) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at scala.concurrent.impl.Promise$DefaultPromise.complete(Promise.scala:58) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:23) [factorie-1.0.0-M4-jar-with-dependencies.jar:na]
Caused by: java.lang.AssertionError: assertion failed
at scala.Predef$.assert(Predef.scala:165) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at cc.factorie.util.TraversableExtras$class.max2ByDouble(TraversableExtras.scala:95) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at cc.factorie.package$$anon$2.max2ByDouble(package.scala:148) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at cc.factorie.optimize.SampleRankExample.accumulateExampleInto(SampleRank.scala:31) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na]
at cc.factorie.optimize.OnlineTrainer$$anonfun$processExamples$3.apply(Trainer.scala:72) ~[factorie-1.0.0-M4-jar-with-dependencies.jar:na] …
Run Code Online (Sandbox Code Playgroud) 在Java Play 2.1.1应用程序中,我收到以下错误:
[myproject] $ update
[info] Updating {file:/C:/path/myproject/}myproject...
[info] Resolving ...
[error] impossible to get artifacts when data has not been loaded. IvyNode = com.google.guava#guava;12.0
[error] (*:update) java.lang.IllegalStateException: impossible to get artifacts when data has not been loaded. IvyNode = com.google.guava#guava;12.0
[error] Total time: 230 s, completed 17.05.2013 19:16:41
Run Code Online (Sandbox Code Playgroud)
Build.scala
"com.google.guava" % "guava" % "14.0.1",
"org.mydependency" % "mydependency" % "1.0-SNAPSHOT" changing() exclude("org.jboss.netty","netty") exclude("com.google.guava", "guava") exclude("log4j", "log4j"),
Run Code Online (Sandbox Code Playgroud)
导致此错误的事情(之前一切正常)是mydependency中的依赖项更改:
旧:
<dependency>
<groupId>com.thinkaurelius.titan</groupId>
<artifactId>titan-berkeleyje</artifactId>
<version>0.3.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
新:
<dependency>
<groupId>com.thinkaurelius.titan</groupId>
<artifactId>titan-cassandra</artifactId>
<version>0.3.1</version>
</dependency> …
Run Code Online (Sandbox Code Playgroud) 我有一个与JavaScript缩小相关的奇怪问题,问题是当在文件/assets/javascript/test
夹中放置test1.js,test2.js等JavaScript文件并使用以下关闭编译器选项时:
val defaultOptions = new CompilerOptions()
defaultOptions.closurePass = true
defaultOptions.setProcessCommonJSModules(false)
defaultOptions.setPrettyPrint(true)
CompilationLevel.WHITESPACE_ONLY.setOptionsForCompilationLevel(defaultOptions)
Run Code Online (Sandbox Code Playgroud)
它们会被缩小,但这会导致test1.min.js和test2.min.js文件共享相同的代码... ...当在同一页面中使用文件并占用更多磁盘空间时,这将导致一些额外的JavaScript错误.
但是,如果CompilerOptions
没有设置,JavaScript会正确编译而不会重复,但编译级别太严格,我们的JavaScript会停止工作,因为它会显示有关这些文件中写入的某些内容的错误.总的来说,缩小过程激活太晚,无法修复所有项目js文件以使用默认编译器选项,因此现在只有选项将其配置为使用轻微缩小而不使用js重复的方式..对此问题的任何帮助都将非常感谢!
我正在使用Play Framework 2.1.1和Java项目.
javascript google-closure-compiler playframework-2.0 playframework-2.1
我在Play Framework 2.1中使用新的ScalaJson功能有点迷失.我想在我的枚举中写入读写.
这是我的代码:
object EnumA extends Enumeration {
type EnumA = Value
val VAL1, VAL2, VAL3 = Value
def parse(str:String) : EnumA = {
str.toUpperCase() match {
case "VAL1" => VAL1
case "VAL2" => VAL2
case "VAL3" => VAL3
case _ => null
}
}}
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
谢谢.
我有点新玩框架和密码哈希.我试图找到一些哈希密码的解决方案,我找到了BCrypt.你认为这对哈希密码是否足够好.如果它很好,我怎样才能让它在Play框架中运行?(我正在使用游戏2.1.3)谢谢!
这是我正在使用的代码:
(__ \ "fields").read(
(__ \ "key").readNullable[String] and
(__ \ "summary").readNullable[String] and
(__ \ "description").readNullable[String]
tupled
)
Run Code Online (Sandbox Code Playgroud)
这种情况下的完整错误是:
value and is not a member of play.api.libs.json.Reads[Option[String]]
Run Code Online (Sandbox Code Playgroud)
它也可能是错误中的其中一个
play.api.libs.json.OFormat
play.api.libs.json.OWrites
Run Code Online (Sandbox Code Playgroud) 我正在对表单进行一些更新
update(
{ "uuid": someUuid, "revision.versionNumber": someVersionNumber},
{ "$set": { "meta.someId": someId }, "$push": { "meta.someMessages": someMessage } }
)
Run Code Online (Sandbox Code Playgroud)
有时我看的时候这就是所谓的相同uuid
,versionNumber
,及someId
与不同的someMessage
第一个更新将会成功,但第二个将静默失败.
我看到蒙戈日志下面,所以我知道该更新能够进入数据库,注意第一次更新具有相同的查询作为第三人,但第一个具有nupdated: 1
而第三个具有nupdated: 0
Wed Aug 28 14:50:24 [conn18] update some-db.some_collection query: { uuid: "b841f303-a054-4eb9-8885-9d3ebf9906a1", revision.versionNumber: 9 } update: { $set: { meta.someId: "521e6fe4036420f90371a922" }, $push: { meta.someMessages: { event: "instance.complete", timestamp: new Date(1377726624985) } } } nscanned:2507 nmoved:1 nupdated:1 keyUpdates:0 numYields: 19 locks(micros) w:6010 9ms
Wed Aug 28 …
Run Code Online (Sandbox Code Playgroud)