【问题标题】:Play Framework 1.2.5 dependency placed in project directoryPlay Framework 1.2.5 依赖项放置在项目目录中
【发布时间】:2013-06-19 19:50:22
【问题描述】:

我正在尝试使用以下 dependencies.yml 文件启动一个播放框架应用程序:

require:
- play 1.2.5
- play -> crud

当我运行 play deps --sync 时,我会得到以下输出:

Installing resolved dependencies,
~
~   modules/crud -> /Applications/play-1.2.5/modules/crud
~
~ Synchronizing, deleting unknown dependencies
~
~   Deleted: /project path/modules/crud
~
~
~ Done!

似乎每次我运行play eclipsify 时,出于某种原因,play 都会将 CRUD 模块放在项目路径中,而不是仅使用 /Applications/play-1.2.5/ 中已经存在的模块。

我让它工作的唯一方法是在 application.conf 中添加module.crud=${play.path}/modules/crud,但是当我将它部署到“已经定义了 CRUD”的 Heroku 时,这会破坏一切。

如何强制播放仅使用 /Applications/play-1.2.5/ 中的模块而不将任何内容复制到工作目录?

【问题讨论】:

    标签: playframework crud


    【解决方案1】:

    我猜你首先从conf/dependencies.yml 中删除以下行:

    - play -> crud

    然后然后将以下行添加到您的conf/application.conf

    module.crud=${play.path}/modules/crud

    【讨论】:

    • 不幸的是,这会产生相同的结果 - CRUD 无法解析为类型。
    • 什么意思?在您的问题中,您说结果是“CRUD 已被定义”,如果您收到“CRUD 无法解析为类型”,显然结果不一样。
    • 这是我部署到 Heroku 时的问题。在本地,我只能定义一次 CRUD(通过 application.conf),但通过 dependencies.yml 定义它不起作用。在 Heroku 上,这两项工作都是它告诉我它已经被定义的原因。
    • 我已经取得了一些进一步的进展——显然,play 不会在项目中创建 CRUD 所需的符号链接。我已经手动创建了它们,现在它可以工作了,但这并不是我希望的解决方案。
    • 在 Heroku 上,两者都有效,这就是它告诉我它已经被定义的原因——这正是我要求你从 dependencies.yml 文件中删除它的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2015-09-07
    • 2017-08-16
    • 2014-07-01
    • 2023-03-31
    • 2013-04-13
    • 2018-12-06
    相关资源
    最近更新 更多