【问题标题】:How to access external libraries using Play Framework?如何使用 Play Framework 访问外部库?
【发布时间】:2013-07-02 23:30:08
【问题描述】:

我正在尝试将 .jar 文件中包含的外部库与 Play 框架一起使用。

我已将 .jar 文件添加到 lib/ 目录,但无济于事。

我知道我可以将依赖项添加到我的project/Build.scala 文件中,但我不知道组 ID、工件 ID 或版本号是什么。那些在 .jar 文件中找到吗?

【问题讨论】:

  • 你重启了 PLAY!将jar放入lib目录后?
  • 我刚试了一下……没用。我在 lib/ 中有 SomeClass.jar,当我要求 new SomeClass() 时,它说找不到类型。
  • 抱歉问了一个愚蠢的问题,但是您import 图书馆了吗?如果 Play! 没有将库正确添加到类路径中,则编译错误应该来自导入行,而不是来自实例化。
  • 好吧,这里有一个更糟糕的问题:import 应该是什么样子?当我尝试import SomeClass._ 时,它告诉我找不到对象。
  • Alos,不管它的价值如何,当我进入游戏控制台时,我可以查看类路径,它那里,应该是

标签: scala playframework-2.0


【解决方案1】:

您可以转到项目结构 在项目设置 -> 模块 -> 转到选项卡 Dependencies ,在 sbt-unmanaged-jars 下,您可以手动编辑和添加您的库。

【讨论】:

    【解决方案2】:

    groupIDartifactIDversion 是“Maven Coordinates”。需要这三个标识才能在Maven Repository 中找到确切的 jar 文件。提供后,构建系统(和 Play! 使用 SBT)可以自动查找、下载并包含您要使用的库(假设该库存在于存储库中)。

    由于这是一个全局存储库,groupID 应该唯一标识项目。 groupID 通常与主项目的包相同,例如org.apache.commonsartifactID 应该标识项目中的特定 jar,例如commons-ioversion,很明显,指向 jar 的确切版本。

    【讨论】:

    • 啊,我是这么想的。所以,我的jar 文件绝对不在 Maven 存储库(或 SBT)中。 Play 声称我可以将它放在 lib/ 中,它会起作用......但我似乎遗漏了一些东西。
    【解决方案3】:

    How to use IntelliJ with Play Framework and Scala 看到这个简短的教程。

    但你必须在调用创建模块命令idea with-sources=yes之前将所有必要的jar添加到lib文件夹中

    所以,再次

    1. 创建一个新应用程序
    2. 创建 lib 文件夹并复制所有 jars
    3. 创建 IDE 模块

    这只是我成功部署它的一种方式

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-03
      • 1970-01-01
      相关资源
      最近更新 更多