通过SBT命令行创建 这种方式需要你事先安装SBT,然后执行创建命令: sbt new playframework/play-scala-seed.g8 命令执行成功后,在当前目录下会生成类似Starter...启动Play项目 进入命令行,导航至项目根目录,执行启动命令sbt run: ?...第一次启动时,由于SBT要下载大量的依赖,所以时间可能会久一点,倒数第二行表明,Play项目已经在9000端口启动成功了。...如果启动IDEA后直接进入了主界面,则单击主窗口左上角菜单File-Settings...,在弹出的设置窗口左侧单击Plugins,则可看到如下插件窗口: ?...如果你不是个处女座,建议忽略这些错误,只要命令行不报错即可。 OK,至此你的第一个Play项目之旅就结束了,下次再会!
项目搭建 在开始之前,我们需要安装 sbt 命令行工具 (至少是 JDK 8 及以上),在本文中我们将使用 sbt 1.6.2 来安装 Play Framework 2.8.16 3....命令行工具 Play 框架官方文档提到 sbt 是一个强大的控制台和构建工具,我们可以从使用 sbt 工具生成一个空白的 Play 框架的项目开始。...sbt new playframework/play-scala-seed.g8 在依赖信息加载完成后,该工具将提示并要求我们输入新项目的名称和组织信息 This template generates...项目文件夹中并启动该项目 cd baeldung-play-framework sbt run 这是我们第一次启动项目,可能会花点时间在构建和编译上。...编写测试用例 最后,我们来看看有 sbt 命令行工具在创建 Play 框架项目的时候生成的测试用例文件夹。
如何确定play项目的版本?...- Play 2.x 打开play项目根目录下project/plugins.sbt文件,找到添加sbt-plugin这一行,例如: addSbtPlugin("com.typesafe.play..." % "sbt-plugin" % "2.2.1") sbt-plugin的版本号决定play项目的版本号。...Idea如何导入play项目?...- Play 2.x 执行play idea生成idea项目 在Idea中,单击菜单File-Open(注意不是Import Project),打开play项目 在Project Structure
创建与运行 切换到/home/vamei,创建一个网络应用test, play new test 跟随指示,输入项目的必要信息。应用名和编程语言,分别为test和Java。...application.conf包含了项目的各个设置参数。 routes记录了url请求和控制器的对应关系。当有http请求进入时,Play将根据该文件的设置,调用特定的控制器行动。...Play是MVC架构,分步骤生成响应,而每一步由不同的模块负责。上面的一个简单页面,是如下过程产生的: ? 图中的黑色字体表明了这些功能在项目中所在的具体文件。...持续运行 Play自带的服务器可以持续运行。将Play安装在目标服务器,比如云上后,在Play项目的根目录下,用: play start 来持续运行服务器。此后你可以按Ctrl-D来返回命令行。...切换到项目的根目录下,使用命令: play stop 总结 play new play run 动态生成响应 model-control-view
开发环境 activator-1.3.5 Play 2.4.1 IntelliJ IDEA 14.1.3 (Scala Plugin 1.5.2) 2. 如何调试? ...在IDEA中依次单击"File" - "New" - "Project from Existing Sources..."...,选择Play项目根目录下的build.sbt文件,单击OK, 再次单击OK,等待项目初始化完成。 ...", 单击左上角绿色+号,选择"SBT Task",命名为"play-test",在右边窗口的Tasks下输入“run”,单击OK完成。 设置断点,单击工具栏上的Debug按钮开始调试,
这篇文章是关于怎样将play 2.2.3的工程迁移到play 2.3.0 1、安装sbt 0.13.5,去官网下载sbt 0.13.5: http://www.scala-sbt.org/download.html...修改sbt版本: sbt.version=0.13.5 2、升级scala到2.11.1(可选),由于play 2.3 同时支持 scala 2.10 和 scala 2.11所以,可以不用升级到...3、修改插件版本,修改project/plugins.sbt文件: addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.XXX") xxx是当前的...2.3使用activator命令而不是play命令来启动,但是运行命令还是没有变得。...然后最好不要跳级来迁移,就是不要从2.1直接升级到2.3因为2.1中的一些特性在2.3中被移除了,所以首先 升级到2.2看看有提示什么是废弃的特性,然后修改好,接着再升级到2.3。
在 SBT 中,有三种方式可以设置 JVM 参数,下面分别介绍。...环境变量 设置 JAVA_OPTS 环境变量,例如在 Windows 命令行上执行: set JAVA_OPTS="-Xmx1g -Xmx1g" 配置文件 在项目根目录下创建.jvmopts文件,内容如下...-Dprop=value 自动触发任务 在 SBT 任务名前加上 ~ ,则当有文件变化时则会自动触发该任务,例如我们在 Play 开发时,可以这样启动项目: sbt ~run 当我们修改了某些文件时,...监测任务执行时间 当我们发现执行 sbt run 启动项目后,浏览器界面久久刷新不出来,这时我们就需要知道时间到底耗在哪儿了?...=true" clean run 命令输出如下: D:\IdeaProjects\play-community> sbt "-Dsbt.task.timings=true" clean run [info
仅仅有一些简单的说明,对于不熟悉scala play开发的人来说。非常蛋疼。以下记录具体的安装过程。...默认的数据库是H2,事实上我认为H2就已经够用了,不须要把数据放到mysql,非常麻烦,并且不是必需。 假设sbt下载依赖包非常慢的话,能够考虑用代理: 在bash设置下环境变量就能够了。...-2.1.0-SNAPSHOT.zip cd kafka-web-console-2.1.0-SNAPSHOT/bin 第一次启动时要加个參数: ....at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala.../kafka-web-console -Dhttp.port=9001 參考: sbt设置代理: http://stackoverflow.com/questions/13803459/how-to-use-sbt-from-behind-proxy
上面的改动完成后,使用play run来运行服务器。...find是Play提供的Finder类型,用于数据库查询。而Person类中得findAll()和findByName()的静态方法中,就调用了find,从而在数据库中查询条目。...Play有evolution模块,管理数据库的表。写好Person.java后,访问项目。Play这时会生成在mysql中建立表格的脚本。运行该脚本即可。 ? 增加数据库条目 增加一个动作。...这个动作向数据库增加条目: public static Result addPerson() { Person p1 = new Person(); Person p2 = new Person...事实上,我也可以在动作中直接调用Person.find,来组成查询语句。这将让动作内部有更大的查询自由度。
●资源优化配置:根据项目需求和市场情况,合理分配人力和物资。●风险管理:预测潜在的工程延误、成本超支等问题。...●丰富的库支持:Scala拥有如Akka、Play Framework等库,支持快速开发。●类型安全:Scala的强类型系统减少了运行时错误,提高了代码的稳定性。...环境准备首先,确保你的开发环境已安装Scala和sbt(Scala的构建工具)。...ConstructionDataCrawler extends App { val proxyHost = "fdggj" val proxyPort = 5445 // 注意:端口号应该是整数,而不是字符串...数据分析一旦数据被存储,就可以使用数据分析工具和算法来提取有价值的信息。例如,使用机器学习模型来预测建筑材料的价格趋势,或者使用统计分析来评估项目的进度和成本。
在Eclipse中安装Scala插件方式2 通过点击 Help –》 Install new softwares.....Read timed out 那么你可以设置代理的方式继续安装; 或者 直接将插件下载下来,再使用本地安装也可。...完成后启动Eclipse , 菜单栏 file –》new –》 other 可以看到Scala的相关组件: Scala IDE for Eclipse 在 http://scala-ide.org/...下载完成,安装即可, 当然要注意 JDK是否和Scala IDE的版本一致性,否则提述如下错误: 第一个 Scala 程序 IDE安装完成之后,我们就可以编写第一个Scala程序了,是不是开始激动了…...创建第一个Scala项目 菜单栏, File –》 new –》 Scala Project 点击下一步: 给自己的第一个Scala 应用起个名字,点击完成。
值得注意的是 ActFramework 使用了 osgl-version 来管理应用版本, 无需编码即可直接从项目的 pom.xml 定义中拿到版本号, 对应用开发来说非常便利: 直接使用 Act.appVersion...Play 的实现也包括了展现 app 和框架版本号, play 没有使用定义在 sbt 脚步中的版本, 而是从 app 配置文件中获取版本号, 稍稍重复了一点....HttpResult("text/html;charset=utf8", body); } } Redkale 实现直接使用字串拼接输出而不是模板引擎....4.5 Play Play 的实现使用了 sbt, 第一次运行简直就是灾难, 花了至少半个小时才能启动. 不过第一次之后就都很好了: ? ?...4.6 Redkale 和大部分实现项目一样, Redkale 在 README 中提供了如何启动应用的方法. 我们可以很容易启动 Redkale 项目: ? ?
加密 为了信息安全,用户密码需要加密,而不是保存为明文。Bcrypt算法可以对明文密码进行哈希(Hash)转换。我保存在数据库中的密码,是经过转换后的文本。...要在build.sbt中说明这个包的来源和版本: name := "test" version := "1.0-SNAPSHOT" libraryDependencies ++= Seq( javaJdbc...重新运行Play后即可使用。为了Eclipse能自动补齐该包的相关调用,可以使用play eclipse,并重新在Eclipse引入项目。 我下面用一个小例子,来说明该Bcrypt的哈希转换。...postLogin()的if结构,将根据登录是否合法,来返回不同的结果。...HTTP协议可以用会话(Session)的方式,来记录用户的登录信息。在会话有效期内,服务器可以识别相应客户的访问。Play实现会话相当方便。
调试期间使用 Step Into(步入)时,IDE 会将您带到与 JDK 版本而不是模块语言级别对应的类。...其他改进 我们引入了新图标:一个新图标适用于 New Project(新建项目)向导中的 Scala 语言,另一个适用于 View | Tool windows(视图 | 工具窗口)中的 SBT。...Maven 工具窗口中的 Maven 仓库 Maven 仓库列表及其索引编制状态现在显示在 Maven 工具窗口中,而不是以前 Maven 设置中的位置。...要附加文件,您只需选择数据源,而不是会话。 此外,启动函数不再需要选择会话,您现在可以选择直接从控制台或文件运行函数。 这些更改旨在最大限度地缩短工具的学习曲线,减少不必要的步骤并增强整体实用性。...您可以直接从此微件重新启动服务或导航至其设置。
build.sbt: 项目的主构建文件,包含了项目的设置(settings)、依赖项(dependencies)和任务(tasks)等。这是定义项目构建过程的关键文件。...例如,如果项目 A 依赖于库 B 和 C,而库 B 又依赖于库 D,则依赖关系树如下所示: A ├── B │ └── D └── C sbt 就是通过使用这种树结构来管理依赖,以确保所有的依赖关系都能正确解析并下载...这些文件包含了项目的元数据,如项目名称、版本、依赖项等信息。 2 解析依赖项 当 sbt 启动时,它会读取配置文件,并解析项目的依赖项。...Maven 通常执行全量编译,这在大型项目中会导致编译时间较长。此外,Maven 的命令行工具需要每次执行任务时重新启动 JVM,这可能导致较长的启动时间。...相对于maven(maven使用的XML语言并不是专门为maven而设计的),sbt的这种灵活性使得sbt适用于复杂项目和需求频繁变化的项目。 4.
我只在介绍Play frameworks时打破这条规则,理由稍后给出。在将来的项目中使用哪个 Java RESTful框架完全取决于你当前的需求。...Dropwizard 使用已有的 Jetty HTTP 库,嵌入到你的项目中,无需外部的server。所有的Dropwizard项目都有一个 main 方法来管理内建的 HTTP server....这也是我为什么给它减掉0.5颗星,而没有评为满分5颗星。...优点 快 快速的项目构建和启动 模块化 XML, HTML, JSON渲染 也支持其它的库 (如 Guice, Logback, Guava, etc.)...不向后兼容; Play 2.X 重写了 号称轻量级,但有些臃肿 SBT构建工具. 号称 Maven 杀手, 但是从没有优秀到替换它。
Trove: 挂在bitbucket上面的一个开源项目。 因为是为了比赛而接触的这些库,所以我只按照比赛场景给他们做了测试。...Scala这边,我们所熟悉的Ktoso大佬包了一个sbt-jmh插件,使得我们可以方便地利用SBT来运行JMH测试。...要使用sbt-jmh插件,首先,在plugins.sbt文件里面添加插件: // project/plugins.sbt addSbtPlugin("pl.project13.scala" % "sbt-jmh..." % "0.3.4") 之后,在项目中的模块定义中,使用它: // build.sbt enablePlugins(JmhPlugin) 然后,我们就可以在sbt的console下,执行如下命令,...所以,初赛使用Java的HashMap实现的小伙伴,是不是应该赶紧思考一下换一下内存索引的结构,来避免OOM呢?
该标准是 ERC-721 的扩展,分离了 NFT 和SBT的持有权和转让权,并定义了一个新的可设置到期时间的"守卫者"角色Guard,可使得 NFT 防盗、借贷、租赁、SBT 等更具灵活。...更重要的是,流动性本身是出于对金融产品的定价诉求而产生的话题,如何让NFT本身具有使用价值,便成了让价值有所依归而不是只依赖于市场操作的协议。...请特别注意1: 对于设置了Guard的NFT而而言,原持有者将只有持有权,并没有转移权(即使用权),其他Dapp依旧可以查询到此NFT的所有者是原用户,但原用户无法驱动其进行转移。...年多的时间来,围绕EIP的提案总数已经达到6500+ , 对比于同样重磅的4907而言,6147更多是强在兼容性的优化 比如4907做租赁,user这个角色需要项目的主动认可,如果一个游戏没考虑user...而6147只要认可owner就够了,并不用在意游戏项目和NFT本身是否支持租赁,现在大部分应用协议仍然是只认owner的,这也是4907问世后,还无法大幅度改变现状的原因,只有先适应时代潮流之中能逐渐发光发热
项目结构和文件说明 说明 这个工程包含了两个应用。 一个Consumer应用:CusomerApp - 实现了通过Spark的Stream+Kafka的技术来实现处理消息的功能。...运行: sbt package 第一次运行时间会比较长。...启动spark集群slave server $SPARK_HOME/sbin/start-slave.sh spark://$(hostname):7077 启动Consumer应用 新起一个终端,来运行...java.lang.NoClassDefFoundError错误, 请参照Spark集群 + Akka + Kafka + Scala 开发(1) : 配置开发环境, 确保kafka的包在Spark中设置好了...总结 建议写一个Kafka的Consumer,然后调用Spark功能,而不是使用Spark的Stream+Kafka的编程方式。 好处是可以使用最新版本的Kafka。
领取专属 10元无门槛券
手把手带您无忧上云