【问题标题】:Can I run sbt new with a local template (not GitHub)?我可以使用本地模板(不是 GitHub)运行 sbt new 吗?
【发布时间】:2018-03-24 18:04:55
【问题描述】:

我在一个安全的环境中工作,不允许开发人员从 GitHub 或任何其他外部存储库进行 git-clone。

我能够从 GitHub 下载 g8 模板 (play-scala-seed) 作为 zip 文件,并将其解压缩到本地文件夹。我可以使用该本地目录而不是 git repo 吗?

我的第一次尝试失败了:

> dir .\play-scala-seed
 Volume in drive C is OSDisk
 Volume Serial Number is A074-A016

 Directory of C:\workspace\play-scala-seed

03/22/2018  11:03 AM    <DIR>          .
03/22/2018  11:03 AM    <DIR>          ..
03/22/2018  11:01 AM    <DIR>          project
03/22/2018  10:57 AM    <DIR>          src
03/22/2018  11:03 AM    <DIR>          target
03/22/2018  10:57 AM                70 .gitignore
03/22/2018  10:57 AM               509 .travis.yml
03/22/2018  10:57 AM               453 build.sbt
03/22/2018  10:57 AM               439 LICENSE
03/22/2018  10:57 AM             1,166 README.md
               5 File(s)          2,637 bytes
               5 Dir(s)  220,172,980,224 bytes free

即使我确定模板存在并且位于名为“play-scala-seed”的目录中,但 SBT 新命令不接受它:

> sbt new .\play-scala-seed
Template not found for: .\play-scala-seed

那么如何让 sbt new 使用本地目录作为 g8 模板?

我正在运行 Windows(如果这很重要!)

【问题讨论】:

标签: scala sbt giter8


【解决方案1】:

当你直接使用 giter8 时,你只需要使用 file:// 前缀引用你的本地模板:

g8 file://play-scala-seed

正如@volia17 所述,您可以在 giter8 文档中找到它:Testing templates locally

但是当您使用sbt new 时,您需要模板名称(文件夹)以.g8 结尾。 sbt 可以接受不同类型的模板,这样它就知道这是一个 giter8 模板。所以你可以将你的模板文件夹重命名为play-scala-seed.g8:

sbt new file://play-scala-seed.g8

附:直接使用 giter8 会快很多,因为sbt new 启动需要时间(它每次都会加载全局 sbt 插件)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 2015-09-06
    • 2021-04-09
    • 1970-01-01
    相关资源
    最近更新 更多