Playframework 在play framework项目中,将依赖JAR放在自己的文件夹中的何处?

Playframework 在play framework项目中,将依赖JAR放在自己的文件夹中的何处?,playframework,Playframework,我有一种情况,我需要将大量来自不同第三方来源的jar放在play框架的lib文件夹下,这应该是可行的。但如果我能在project_root/lib文件夹下创建子文件夹,将属于不同第三方来源的不同JAR组织在一起,这会更好。这使得管理和更新JAR变得更加容易,以防出现新版本的第三方项目。有可能吗?我该怎么做?从Play开始,我尝试不使用JAR的lib文件夹!1.2它有自己的依赖关系管理,使用该文件夹解决依赖关系。所以,我要做的是创建一个名为“jars”的文件夹,并将它们放在下面。然后,您可以按组织

我有一种情况,我需要将大量来自不同第三方来源的jar放在play框架的lib文件夹下,这应该是可行的。但如果我能在project_root/lib文件夹下创建子文件夹,将属于不同第三方来源的不同JAR组织在一起,这会更好。这使得管理和更新JAR变得更加容易,以防出现新版本的第三方项目。有可能吗?我该怎么做?

从Play开始,我尝试不使用JAR的lib文件夹!1.2它有自己的依赖关系管理,使用该文件夹解决依赖关系。所以,我要做的是创建一个名为“jars”的文件夹,并将它们放在下面。然后,您可以按组织名称在该名称下的文件夹中排列JAR

因此,如果在“jars/my.org/my-module-1.2.jar”中放一个jar,那么在dependencies.yml文件中需要这个:

require:
  - play
  - my.org -> my-module 1.2

repositories:
  - local:
    type:       local
    artifact:   "${application.path}/jars/[organisation]/[artifact]-[revision].[ext]"
    contains:
      - my.org -> *

您必须在“contains:”下列出您希望从jars文件夹解析的每个组织。

从Play开始,我尝试不使用JAR的lib文件夹!1.2它有自己的依赖关系管理,使用该文件夹解决依赖关系。所以,我要做的是创建一个名为“jars”的文件夹,并将它们放在下面。然后,您可以按组织名称在该名称下的文件夹中排列JAR

因此,如果在“jars/my.org/my-module-1.2.jar”中放一个jar,那么在dependencies.yml文件中需要这个:

require:
  - play
  - my.org -> my-module 1.2

repositories:
  - local:
    type:       local
    artifact:   "${application.path}/jars/[organisation]/[artifact]-[revision].[ext]"
    contains:
      - my.org -> *

您必须在“contains:”下列出您希望从jars文件夹中解析的每个组织。

只是为了给Aaron的答案带来更多信息。当在工件行中直接引用一个jar文件时,让我感到困扰的是,我不理解可能有多个工件行。 例如,我能够做到:

require:
  - play
  - my.org -> mylib 1.2
  - my.org2 -> mylib2 1.3

repositories:
  - custom-lib:
    type:       local
    artifact:   "${application.path}/jars/mylib-1.2.jar"
    artifact:   "${application.path}/jars/mylib2-1.3.jar"

    contains:
      - my.org -> *
      - my.org2 -> *
当运行play dependencies时,它将JAR放在lib目录中,并指出它们都来自自定义lib存储库


因此,通过实验,它似乎对我有效,但我很想知道这是否真的是一种有效的方法,因为我在文档中没有看到任何东西说你可以有多个工件行。

只是为了给Aaron的答案带来更多信息。当在工件行中直接引用一个jar文件时,让我感到困扰的是,我不理解可能有多个工件行。 例如,我能够做到:

require:
  - play
  - my.org -> mylib 1.2
  - my.org2 -> mylib2 1.3

repositories:
  - custom-lib:
    type:       local
    artifact:   "${application.path}/jars/mylib-1.2.jar"
    artifact:   "${application.path}/jars/mylib2-1.3.jar"

    contains:
      - my.org -> *
      - my.org2 -> *
当运行play dependencies时,它将JAR放在lib目录中,并指出它们都来自自定义lib存储库


因此,通过实验,它似乎对我有效,但我想知道这是否真的是一种有效的方法,因为我在文档中没有看到任何东西说你可以有多个工件行。

很好的提示,Aaron。使用lib文件夹来解析依赖项是什么意思?当您在游戏中运行依赖项任务时!1.2它将解决项目的所有依赖项,并将JAR放在lib文件夹中。使用lib文件夹来解析依赖项是什么意思?当您在游戏中运行依赖项任务时!1.2它将解决项目的所有依赖项,并将JAR放在lib文件夹中。