加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Play框架作为SBT非根模块

发布时间:2020-12-16 09:10:06 所属栏目:安全 来源:网络整理
导读:我正在尝试使用SBT与核心 Java模块和其他 Java客户端一起开发一个Play 2.0 Web应用程序.是否可以以Play应用程序仍然正确构建的方式进行配置? 之前我已经开发了一个小型的一次性Play 2.0应用程序,但是我没有直接与SBT合作的经验.到目前为止,我已经提出了以下
我正在尝试使用SBT与核心 Java模块和其他 Java客户端一起开发一个Play 2.0 Web应用程序.是否可以以Play应用程序仍然正确构建的方式进行配置?

之前我已经开发了一个小型的一次性Play 2.0应用程序,但是我没有直接与SBT合作的经验.到目前为止,我已经提出了以下目录结构和项目/ Build.scala文件.

root/
 |---common/
 |
 |---client1/
 |---client2/
 |
 |---webapp/
 |    |---app/
 |    |---conf/
 |    |---public/
 |
 |---project/

.

object ApplicationBuild extends Build {

    val appVersion      = "1.0-SNAPSHOT"

    val appDependencies = Seq(
      // Add your project dependencies here,)

    val common  = Project("hi-common",file("common"))

    val client1 = Project("hi-client1",file("client1")).dependsOn(common)

    val client2 = Project("hi-client2",file("client2")).dependsOn(common)

    val webapp = PlayProject("hi-webapp",appVersion,appDependencies,path = file("webapp"),mainLang = JAVA).settings(
        // Add your own project settings here      
    ).dependsOn(common)

    val root = Project("hi",file(".")).aggregate(client1,client2,webapp)

}

运行sbt clean包似乎适用于common,client1和client2模块,但webapp模块未打包到可以运行webapp / target / start的位置.

我可以做什么来实现这一点,作为一个单一的构建与正确的输出?

解决方法

这里的问题是,只需运行包目标就不足以为您生成启动脚本.它将组装完整的包装Web应用程序,但没有单一的启动方式.

我的目标是部署到Heroku,他方便地提供一个插件,将为您生成这个启动脚本.插件的包含的存储库默认添加了一个Play 2.0 Web应用程序,所以你需要做的是将您正在使用的构建的命令修改为sbt clean编译阶段,您将在webapp / target中找到一个启动脚本/文件夹.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读