Play Framework:添加一个指向本地jar文件目录的依赖项
Posted
技术标签:
【中文标题】Play Framework:添加一个指向本地jar文件目录的依赖项【英文标题】:Play Framework: Add a dependency that points to a directory of local jar files 【发布时间】:2011-12-22 06:21:34 【问题描述】:是否可以将依赖项添加到指向目录的dependencies.yml?
例如,对dependencies.yml使用伪yml,我想做这样的事情:
require:
- mycooldirectory
repositories:
- mycooldirectory:
type: local
artifact: "$application.path/jars/mycooldirectory/*.jar"
contains:
- mycooldirectory -> *
在我的 make-believe-world 中,上面会将 mycooldirectory 作为类路径文件夹包含在内,并使用在该目录中找到的任何 jar。
我只是在编造一些东西,但我希望这能解释我想要做什么。我知道您可以将 jar 放在 /lib 目录中,但是在执行 play dependencies --sync
时,dependencies.yml 未指定的任何 jar 都会被擦除。我也知道你可以通过this 指定单个罐子。但是,我只是想知道您是否可以做类似的事情但引用一个完整的 jar 目录?
编辑:我有一种解决方法,即为 mycooldirectory 创建一个 Play 模块结构(即在该目录下有一个 lib 目录)并将所有 jar 放在该 lib 目录中。然后在 dependencies.yml 中,这样做:
require:
- mycooldirectory -> mycooldirectory
repositories:
- provided:
type: local
artifact: "$application.path/jars/[module]"
contains:
- mycooldirectory
虽然我想知道是否有一种更简洁的方法可以做到这一点,而无需制作一个假装模块,只需引用一个新目录即可拥有额外的 jar。
【问题讨论】:
【参考方案1】:此解决方法与您的类似,但它应该可以在没有 /lib
目录的情况下工作。我还没有测试它,但它在邮件列表中并在那里得到了积极的反馈。
require:
- play
- play -> googleclosure 1.2
- provided -> mylib 1.0
repositories:
- provided:
type: local
artifact: "$application.path/jar/[module]-[revision].jar"
contains:
- provided -> *
邮件列表线程:https://groups.google.com/forum/#!topic/play-framework/tU5OJa5JFhs/discussion
【讨论】:
是的,我已经看到了,但据我所知,它一次只指一个罐子(而不是一个装满罐子的目录)。如果我错了,请纠正我,但上面不是说“我想将“jar”目录中的 jar mylib-1.0.jar 包含为依赖项吗?”而我想说“从一些目录,而不必一一指定jar” 你是对的。- provided -> mylib 1.0
只添加了一个 jar,但您可以更频繁地使用该行,但我想这不是您想要的。您是否尝试过类似- provided -> * *
的方法。否则,请尝试将您的问题发布到邮件列表。
也许很明显,但我想指出provided
可以是您想要的任何名称(例如,您的组织名称)。此外,如果您有“1.0-SNAPSHOT”版本或其他版本,请不要在require
部分中添加“-SNAPSHOT”部分,否则 Play 会抱怨。以上是关于Play Framework:添加一个指向本地jar文件目录的依赖项的主要内容,如果未能解决你的问题,请参考以下文章
heroku 部署与 play framework 1.2.4 和自己的安全模块
如何使用 Jenkins 在本地自动部署 Play Framework (2.4) 应用程序?
尝试添加 MySQL / slick 后出现奇怪的 Play Framework 2.2 异常
在 Heroku 托管的 Play Framework 2 应用程序上通过 Mandrill 对电子邮件进行错误的内容传输编码。在本地工作