【问题标题】:Jars in lib folder not picked up when deploying play application on Heroku在 Heroku 上部署 play 应用程序时未拾取 lib 文件夹中的 jar
【发布时间】:2012-08-21 11:45:16
【问题描述】:

我已经构建了一个基于 play framework 2.0.3 的应用程序。我在我的应用程序中使用的 lib 文件夹(非托管依赖项)中放置了一些 jar,如 How to put a JAR file in a Play 2 project and use it? 中建议的那样。

当我使用 play run 从本地计算机运行它时一切都很好

但是当这个应用程序部署到 Heroku 时,这些 jars 并没有被拾取。我在使用这些 jar 时遇到编译错误。

我什至尝试使用以下内容添加 dependencies.yml

require:
    - play 2.0.3
    - provided -> myjar 1.0

repositories:
  - provided:
      type:       local
      artifact:   "${application.path}/lib/[module]-[revision].jar"
      contains:
        - provided -> *

但还是不行。

我的启动脚本(Procfile)是:

web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}

有人能解释一下这个问题吗?

【问题讨论】:

  • dependencies.yml 文件不适用于 Play 2.x 版本。 Anf 您是否将 lib/ 文件夹中的 jars 添加到 git 中?
  • 是的。这是我的错误。我将 lib 文件夹添加到 .gitignore 文件中。它防止罐子被推到heroku。现在可以工作了。感谢您的帮助。

标签: heroku playframework-2.0 dependency-management


【解决方案1】:

由于 heroku 使用 git,请确保您的 lib 文件夹和所有包含的 jar 都由 git 正确管理,即它们不在您的 .gitignore 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多