【问题标题】:Package external project files as a resource jar (SBT)将外部项目文件打包为资源 jar (SBT)
【发布时间】:2015-07-20 11:36:48
【问题描述】:

我在 GitHub 上有一个 javascript 项目和一个 scala 项目。我希望scala项目签出js项目并将其打包为scala项目的资源jar。

以下代码似乎不起作用。

lazy val myJsProj = RootProject(uri(
  // The project will be checkout to ~/.sbt/0.13/staging/089ea13043e2818509b4
  "https://github.com/foo/bar.git")) 

lazy val root = Project(
    id = "my-scala-proj", base = file("."),
    settings = Defaults.coreDefaultSettings
  ).dependsOn(myJsProj)

在scala项目目录下,src/main/resources中有一些文件。现在我运行命令sbt clean package。我注意到只有src/main/resources 下的文件被打包在my-scala-proj_2.10-0.1-SNAPSHOT.jar 中,但没有包含我的js 项目的文件。

我还发现了一个空罐子~/.sbt/0.13/staging/089ea13043e2818509b4/my-js-proj/target/scala-2.10/my-js-proj_2.10-0.1-SNAPSHOT.jar

我猜dependsOn 不是意味着将所有文件都包含到项目中?有人能解释一下吗?

【问题讨论】:

    标签: java scala build sbt packaging


    【解决方案1】:

    没有dependsOn 是指示构建中的一个项目如何依赖于存储库中的另一个项目。

    使用RootProjecturi 是为了方便源代码兼容性,但它的工作效果有限(即libraryDependencies 工作更可靠)。

    我不知道如何从远程源(通过uri)包含 javascript 项目的源。我认为最好的查看位置是sbt-web 的 (sbt) 插件。

    【讨论】:

      猜你喜欢
      • 2019-01-13
      • 2017-01-21
      • 1970-01-01
      • 2011-05-11
      • 2017-10-04
      • 2015-05-14
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多