gpt4 book ai didi

scala - 如何使用 Maven 依赖项将 Play Framework 2.0 集成到 Gradle 构建管理中?

转载 作者:行者123 更新时间:2023-12-03 08:41:29 26 4
gpt4 key购买 nike

Play framework 2.0 是一个用于创建 Web 应用程序的全栈独立框架。尽管如此,许多人可能需要将其集成到他们的构建管理中。不幸的是,我没有找到关于他的太多信息。

这是我的用例:我想创建一个使用 Scala 和 Play 2.0 的新项目。我不想使用 sbt。我想使用 Gradle,依赖管理应该通过 Maven 存储库来完成。

我只找到了这个 Play 模块:http://www.playframework.org/modules/maven-1.0/home它支持通过 Maven 进行依赖管理。

我正在 Grails 中寻找类似这些示例的内容:
https://github.com/grails/grails-gradle-pluginhttp://grails.org/doc/latest/guide/commandLine.html#4.5%20Ant%20and%20Maven

当然,我可以编写调用“Play 控制台命令”的脚本/任务。虽然,我不喜欢这个解决方案。有没有更好的方法来使用 Gradle/Maven 进行构建管理?
如果这是唯一的解决方案,那么我会使用 Gradle,然后调用 Play 命令(即内部 sbt),对吗?这是否有效,还是会出现其他问题?

最佳答案

这是一项非常棘手的业务。 Play 中的 SBT 用于获取依赖项、编译源代码和模板,以及用于 SBT 增量编译 + 自动重新加载功能。我写了一个build.gradle解析所有 Play 2.0 依赖项并设置 Eclipse 或 IntelliJ IDEA 类路径的脚本,并将其设为 public here .

我稍后会在有时间的时候尝试实现编译,但这需要一些研究。
当然,您可以添加仅委托(delegate)给 SBT 的编译和运行任务,但这需要在 SBT 和 Gradle 中描述您的所有项目依赖项,这将变得难以管理。

编辑:

我更新了sample build.gradle文件。我已添加 playCompileplayClean在 CI 环境中应该有所帮助的任务。 playCompile任务执行以下操作:

  • 将所有用户依赖项(在 compile 配置中定义)复制到 lib/文件夹。这是有效的,因为 Play 会从 lib/ 下提取所有 jars。 .
  • 执行play compile命令来编译所有源、模板和其他 Play 框架的东西。

  • 您可以使用 cleanCopyPlayLibsplayClean分别删除上述命令的输出。

    请注意,Windows 上似乎存在一个奇怪的问题(错误?),这意味着即使 play compile失败,gradle 会告诉你它成功了。

    回复评论:

    我想你只是失踪了
    repositories{
    mavenCentral()
    }

    在你的文件中。查看 this doc out .

    关于scala - 如何使用 Maven 依赖项将 Play Framework 2.0 集成到 Gradle 构建管理中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10299815/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com