我在尝试启动Play 2.0应用时遇到了一条未找到密钥的错误消息.我实际上认为我没有改变任何东西,这个错误只是突然出现.其实我做了一件事.我打开文件夹target/scala-2.9.1/src_managed/main中的文件并关闭它(我没有更改任何内容,也没有保存或删除文件).但重新加载应用程序后,我收到此错误.知道我能做什么吗?
[info] play - 在端口9000上侦听HTTP ...
(服务器启动,使用Ctrl + D停止并返回控制台...)
[错误] {文件:/卷/ INPROG/03_Projects/06_Play_Applications /空间换艺术/}空间换艺术/编译:来源:没有找到关键:java.util.NoSuchElementException SOURCE [错误]应用 -
!内部服务器错误,请求[GET /] - >
play.api.UnexpectedException:意外异常[NoSuchElementException异常:键未找到:SOURCE]在sbt.PlayReloader $$匿名$ $$ 2 $ anonfun重载$ $$ 3 $ anonfun 2 $$ anonfun $ $申请11.apply(PlayReloader.scala:228) 〜[NA:NA]在sbt.PlayReloader $$匿名$ $$ 2 $ anonfun重载$ $$ 3 $ anonfun 2 $$ anonfun $ $申请11.apply(PlayReloader.scala:221)〜[NA:NA]在scala.Option.地图(Option.scala:133)〜[阶-library.jar:0.11.2]在sbt.PlayReloader $$匿名$ $$ 2 $ anonfun重载$ $$ 3 $ anonfun 2.适用(PlayReloader.scala:221)〜[呐:在sbt.PlayReloader $$匿名$ $$ 2 $ anonfun重载$ $$ 3 $ anonfun NA 2.适用(PlayReloader.scala:219)〜[NA:NA]在scala.Either $ LeftProjection.map(Either.scala:183 )〜[阶-library.jar:0.11.2] java.util.NoSuchElementException:键未找到:(MapLike.scala SOURCE在scala.collection.MapLike $ class.default:224)〜[阶-library.jar:0.11 .2] …
我想问一下你对play框架的体验以及它的内存使用情况.问题是我正在为我的游戏项目(使用Scala)寻找托管,而我是一个贫穷的学生,所以我需要尽可能便宜的东西.我想在机架空间租用256mb ram的云服务器并在ubuntu-server ed上播放.在玻璃鱼后面.你们有什么意见吗?
感谢谢谢!
在Play入门文档中,他们显示了此控制器:
public static void index() {
Post frontPost = Post.find("order by postedAt desc").first();
List<Post> olderPosts = Post.find("order by postedAt desc").from(1).fetch(10);
render(frontPost, olderPosts);
}
Run Code Online (Sandbox Code Playgroud)
然后,在模板中使用frontPost和olderPosts而没有任何特殊的映射!
<a href="#">${frontPost.title}</a>
Run Code Online (Sandbox Code Playgroud)
Play怎么保留这些名字?
这让我疯狂了好几天了.我有一个非常复杂的Android应用程序.它使用多个线程从服务器提取数据并填充SQLite数据库.我正在使用单例来引用我的SQLiteOpenHelper扩展.我在每个活动中打开和关闭数据库.
该错误仅发生在我4次活动深度然后尝试退出的情况下.我已经尝试了各种方法来打开和关闭数据库,包括将关闭从onDestroy()移动到onPause()方法,还添加另一个打开到onResume().
另外值得注意的是,我的活动大量使用了ListViews和ExpandableListViews,据我所知,这可能会导致数据库关闭,基于这篇文章:http: //darutk-oboegaki.blogspot.com/2011/03/sqlitedatabase-is-closed- automatically.html
我已经完成了代码并确保我要么关闭所有游标,要么将它们分配给适配器,调用startManagingCursor().
有没有人知道发生了什么?
java.lang.RuntimeException: Unable to resume activity {com.fieldone/com.fieldone.DispatchActivity}: java.lang.IllegalStateException: database /data/data/com.fieldone/databases/InterstateAirConditioning-1602814322.db already closed
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3347)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3362)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2162)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: database /data/data/com.fieldone/databases/InterstateAirConditioning-1602814322.db already closed
at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:237)
at android.database.sqlite.SQLiteQuery.requery(SQLiteQuery.java:145)
at android.database.sqlite.SQLiteCursor.requery(SQLiteCursor.java:567)
at android.app.Activity.performRestart(Activity.java:3836)
at android.app.Activity.performResume(Activity.java:3857)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3337)
... 10 more
Run Code Online (Sandbox Code Playgroud)
更新: 我已经修复了问题,但不确定为什么要修复它.所以,也许有人知道或可以解释.
当我处于活动堆栈的第4个活动时,我试图通过db.close()关闭数据库.无论我把它放在哪里,在我得到我需要的数据之后的onCreate中,或者在onStop或onDestroy中,它都会产生这个错误.如果我不关闭数据库,我没有问题.因此,导致数据库自动关闭的原因.奇怪的是,虽然我在最后的活动中使用了expandableListView,但我没有使用cursorAdapter.有人有什么想法?很想明白这一点.
database sqlite android illegalstateexception sqliteopenhelper
如何application.name从conf/application.conf视图中访问该值?
Play框架[我正在使用v1.2.3]不支持存储在application.conf中的db密码加密.它存储为纯文本文件.DBPlugin读取此属性并创建连接池.
要求是加密此密码 - 例如使用Jasypt.一些企业将此作为安全措施来实施.
有人试过做这样的事吗?
由于DBPlugin在ApplicationStart上加载,因此无法破解它.这留下了编写自定义插件,onConfigurationRead为application.conf属性的db.password设置了一个新值.
有什么建议?
我开发了一个基于Play Framework的小应用程序(我还在学习).现在我需要捆绑它以便运输.一种方法是创建一个war文件并将其部署在一个servlet容器中,例如tomcat-这在文档中非常清楚.另一种选择是使用内置的http服务器.这是我想要做的,因为它是推荐的方式.
现在我如何从我的开发应用程序中取出应用程序,以便将其部署到生产服务器中 - 我的意思是如何编译和生成可以分发给我的客户端的捆绑包,这些捆绑包将执行类似解压缩分发停放和运行脚本启动服务器?
或者我这样说,我是否需要在生产服务器上设置播放路径,然后将我的项目文件复制到生产服务器,以便我的用户可以使用play run运行它,就像我在开发环境中一样?
文档只说我需要改为生产模式.
在Grails中,我们有服务类,其中包含从控制器调用的业务逻辑.我在哪里将服务类放在Play Framework项目中?如果我在控制器中定义了不是请求操作的方法,而在控制器中定义了实用方法,例如int findMax(int a,int b),这是否可以在控制器中定义,如何声明这些方法?
我有一些PHP脚本登录并返回带有会话ID的JSON数组(如果登录成功).
在我的应用程序中,我想登录首页并继续浏览正在登录的应用程序.我创建了一个单例类,其中包含从PHP页面的JSON接收的会话ID(以及其他一些字段).根据用户的操作检查此单例对象的字段"session_id".
如果用户想要注销,则session_id只会被设置为null,从而退出.
我还使用HttpURLConnection库在登录时POST用户名/密码.
这是处理这种情况的一种不错的方法吗?