Tag: playframework

使用JDK 1.7运行播放应用程序时出现UnsupportedClassVersionError

刚刚开始学习我的项目需求的Play框架,我的项目只build立在JDK 1.7上,所以我已经下载了Play 2.3.9版本,并通过键入activator new创build了一个示例项目。 然后移到示例项目目录并执行activator run 。 然后我看到JDK不兼容的exception。 我在哪里必须做出改变来处理这个问题? 日志: [info] Loading project definition from E:\workspace\play\first-app\project [info] Set current project to first-app (in build file:/E:/workspace/play/first-app/) java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at […]

如何在Play Framework和Scala中使用IntelliJ

我正在尝试使用IntelliJ与播放框架2.11应用程序。 我安装了Play Framework 2插件和IntelliJ的Scala插件。 我创build了一个Play应用程序。 我一直在努力编写和IntelliJ中运行Specs 2testing。 我的运行configuration说运行Specs 2testing时先运行“make”,但看起来不像我的testing类正在生成。 不停地告诉我,它找不到规格。 当我查看文件系统时,目标/testing类中没有代码,目录是空的。 此外,至less与运行Play控制台相比,这似乎需要很长时间才能完成构build。 我想看看人们如何使用与IntelliJ玩Play。 你只是使用IntelliJ作为编辑器,并通过播放控制台运行的一切? 有没有一种方法可以在IntelliJ中运行应用程序testing(让testing类运行)? 我从来没有任何问题运行的Play控制台和运行〜testing只testing= xxx.Spec。 它通常是相当快的。 当我尝试运行我的Specs2testing时,下面是我在IntelliJ中遇到的exception: Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.jetbrains.plugins.scala.testingSupport.specs2.JavaSpecs2Runner.runSingleTest(JavaSpecs2Runner.java:130) at org.jetbrains.plugins.scala.testingSupport.specs2.JavaSpecs2Runner.main(JavaSpecs2Runner.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) Caused by: java.lang.RuntimeException: can not create specification: […]

如何正确整合HTML5 Boilerplate与Twitter的Bootstrap?

在我的Play 2.0项目中,我已经集成了Bootstrap(因为文件较less,Play可以在飞行中编译),但是现在我发现了Boilerplate,我认为使用它也是一个不错的主意。 经过一些Googlesearch,我发现这个: http : //www.quora.com/Is-Bootstrap-a-complement-OR-an-alternative-to-HTML5-Boilerplate-or-viceversa 所以,看起来整合应该是可能的,甚至有2个项目试图做到这一点。 唯一的问题是他们做了完全不同的事情,我不确定哪一个是正确的。 https://gist.github.com/1422879目前的状态似乎忽略了来自Boilerplate的styles.css文件。 它被重命名为h5bp.css ,但是我没有在任何地方看到h5bp.css 。 https://github.com/elgreg/html5-boilerstrap另一方面使用它们,只是将styles.css文件分成两部分( h5bp_normalize.css和styles.css ,它们之间包含bootstrap.css )。 但是Boilerplate和Bootstrap之间没有这种冲突吗? 所以我有点失落 在这种情况下做事的正确方法是什么?

在多列上创build组合唯一约束

这是我的模特: class User {…} class Book { User author; int number; } 每个作者的书号从1开始,然后递增。 所以我们会有John Grisham的书1,2,3,George Martin的Book 1..5等。 有没有一个独特的限制,我可以放在Book ,这将保证我们没有两个相同的作者相同数量的书籍? 类似于@Column(unique = true) ,但是这个约束只适用于Author X number的组合?

Spray,Akka-http和Play,这是新的HTTP / REST项目的最佳select

我将使用Scala和Akka Actor来开发新的HTTP / REST服务。 我有使用Play的经验,但是我并不需要一个完整的Web框架。 从我读到的,我认为喷雾是一个合适的select。 我的问题来自于新到达的AKKA-HTTP之后Spray的未来。 Spray项目是否将独立于Akka-HTTP项目发展,还是两个项目将合并成一个Akka-HTTTP? 如果我开始使用Spray进行开发,这会带来什么影响? 另外我读了Play将整合AKKA-HTTP。 所以我终于想知道是不是应该玩Play? 谢谢你的帮助。

在Eclipse中debuggingPlayframework

我刚刚从Netbeans转移到Eclipse。 在Netbeans中,我可以debuggingPlayframework应用程序。 但是,在Eclipse中,为了debugging一个web应用程序(特定的Playframework应用程序),似乎很难configuration它。 和Play一样! 文档, 主发射器只能用Run As eclipse命令使用。 然后,您可以使用“debugging为”来使用“连接JPDA启动器”来随时启动debugging会话。 停止debugging会话不会停止服务器。 但是,我看不到“debugging为”中的“连接JPDA启动器”(我正在使用Eclipse Classic 3.7.0)。 我search了关于JPDA(我是新来的Java,不知道“主发射器”和JPDA,然后configuration远程debugging指示http://javarevisited.blogspot.com/2011/02/how-to -setup-remote-debugging-in.html但是它返回一个错误: 无法连接到远程VM。 拒绝连接。 连接被拒绝:连接 我search并发现了一些build议,如: 1.)编辑catalina.bat并添加行:set JPDA_TRANSPORT = dt_socket … set JPDA_ADDRESS = 8000 AND 2.)编辑startup.bat调用“%EXECUTABLE%”jpda start%CMD_LINE_ARGS% 其实我不清楚这一点,我想这是configurationTomcat的。 不过,我正在使用Play! 默认服务器,检查application.conf并确定它正在监听端口9000和8000的JPDA。 当然,我已经在debugging之前启动了Play应用程序,我可以通过端口9000正常访问应用程序。 我使用Win 7没有pipe理员权限。 你有关于debugging玩具的详细指南! 在Eclipse中?

select一个Scala Web框架

我即将开始一个应该运行在Tomcat服务器上的Web应用程序的项目。 我决定去Scala–另一个我正在使用Groovy的替代scheme – 基本上是为了types安全。 我现在面临为工作select正确工具的任务。 我需要开发的项目只能通过JSON API访问。 它将与自己的数据库和两个外部服务交互,这两个服务分别公开一个JSON和XML API。 我还需要能够安排周期性的工作,我的应用程序将执行与这些外部服务的各种同步任务。 对于数据库,我希望能够在Scala中定义我的模型并自动生成模式。 如果有需要改变我的模型,我想有移民来处理它。 对于这个应用程序,我正在评估Lift,Play! 2和Scalatra。 电梯是我的第一select。 这是三个项目中最成熟的,似乎被认为是高度安全的(我不想在安全上妥协)。 此外,它具有什么似乎是在斯卡拉最好的JSON处理库。 尽pipe如此,我不确定这是否是正确的select。 这个文档并不是我见过的最好的。 而且,Record + Squeryl似乎比Mapper更好的抽象,但是这个用法的文档更加稀缺。 最后,Lift虽然可以用来创buildWeb服务,但它的真正优势似乎在于处理状态,所以我不相信我的项目需要额外的复杂性。 玩! 2似乎有一个更好的文档,看起来更熟悉(我来自Django的背景)。 同样,它的默认数据库抽象并不能使我安心:ANORM依赖于SQL,这对于types检查没有帮助。 无论如何,我将不得不使用Squeryl,我不确定这个用例的文档是否一样好。 而且,部署Play! 目前有2个应用程序比我想要的要复杂得多。 一个人必须安装Play! 在生产服务器上,我不知道这是我工作的一个选项。 否则,有一个插件可以使它与servlet容器一起工作,但它是非常新的,我不确定它是多么的稳定/可靠。 最后还有使用Scalatra的选项。 Scalatra似乎很容易build立,它的devise正是为了创buildWeb服务。 妥协是Scalatra不提供太多的function。 它不与现有的ORM集成,也不build议如何组织应用程序的模型部分,也不能帮助devisecron或命令行任务。 我也不确定项目的长远未来。 你认为什么是我的任务的最佳select?

保护Play框架和OAuth2上的REST API

我正在开发一个Play 2.0和Scala的应用程序,它公开了一些REST API。 这些API将被不同的应用程序,Web,移动或桌面使用,所以OAuth协议(OAuth2)似乎是最合适的。 另外,我会最初使用Facebook等外部OAuth提供程序。 我的问题是:授权个别REST调用的确切stream程是什么? 我应该期待在服务器端每次打电话,我应该与外部提供商检查什么? 使用OAuth1,我知道客户端发送了带有所有签名请求的令牌,但是使用Oauth2我认为不是这样,我想如果一个令牌没有签名是不可信的,所以我不认为这是stream量。

用于Play 2.2库的无噪声JSON格式,用于密封特征

我需要用最less的仪式来获得一个简单的JSON序列化解决scheme。 所以我很高兴find即将推出的Play 2.2库 。 这适用于普通的案例类,例如 import play.api.libs.json._ sealed trait Foo case class Bar(i: Int) extends Foo case class Baz(f: Float) extends Foo implicit val barFmt = Json.format[Bar] implicit val bazFmt = Json.format[Baz] 但是下面的失败: implicit val fooFmt = Json.format[Foo] // "No unapply function found" 我将如何为Foo设置所谓的失踪提取器? 或者,你会推荐任何其他独立的库,或多或less地自动处理我的情况? 我不在乎是在编译时使用macros,还是在运行时reflection,只要它是开箱即用的。

在群集中发现阿卡演员

最近我一直试图围绕着阿卡和基于演员的系统的概念。 虽然现在我对Akka的基础知识已经有了很好的理解,但是在集群和远程angular色方面,我还是苦苦挣扎了一些。 我将尝试使用Play Framework 2.0附带的WebSocket聊天示例来说明问题:有一个演员拥有WebSockets,并保存当前连接的用户列表。 演员在技术上和逻辑上基本代表聊天室。 只要在一台服务器上运行一个聊天室,这种方式就完全正常了。 现在我试图理解,当我们谈论运行在服务器集群上的许多dynamic聊天室(可以随时打开/closures新的房间)时,这个例子将不得不被延长(单个节点被添加或删除根据目前的需求)。 在这样的情况下,用户A可以连接到服务器1,而用户B连接到服务器2.两者都可以在同一个聊天室中通话。 在每台服务器上,仍然会有一个actor(对于每个聊天室?),该actor保存WebSocket实例以接收和发布事件(消息)给正确的用户。 但从逻辑上讲,服务器1或服务器2上应该只有一个聊天室参与者,该主持人拥有当前连接的用户(或类似任务)的列表。 你将如何去实现这个目标,最好是在“纯粹的阿克卡”中,而不需要增加额外的消息系统,如ZeroMQ或RabbitMQ? 这是我到目前为止,请让我知道这是否有道理: 用户A连接到服务器1,并分配一个演员来保存他的WebSocket。 参与者检查(使用Router?EventBus?其他?)在任何连接的群集节点上是否存在活动聊天室的“聊天室演员”。 因为它不会要求创build一个新的聊天室演员,并会发送和接收这个演员未来的聊天消息。 用户B在服务器2上连接并且一个演员也被分配给他的WebSocket。 它还检查所请求的聊天室的演员是否存在并在服务器1上find它。 服务器1上的聊天室演员现在充当给定聊天室的中心,将消息发送给所有“连接”的聊天成员演员并分发传入的聊天室。 如果服务器2出现故障,聊天室的参与者将不得不重新创build/移动到服务器2,尽pipe这不是我现在主要关心的问题。 我最想知道如何dynamic发现演员如何传播各种基本上独立的机器可以使用Akka的工具集。 我一直在看阿卡的文档已经有相当长的一段时间了,所以也许我在这里忽略了这个问题。 如果是这样,请赐教:-)