【问题标题】:How to add assets from dependency to local project如何将依赖项中的资产添加到本地项目
【发布时间】:2014-12-03 04:51:59
【问题描述】:

我的游戏! -java 项目正在使用另一个播放项目(模块)作为依赖项。 从 Play 2.2 移动后。从子项目中播放 2.3 资产不可见。

在 build.sbt 中,我将带有资产的 jar 添加到依赖项中

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs,
  "com.company" % "project-sub-module_2.11" % "2.3.3"
  "com.company" % "project-sub-module_2.11" % "2.3.3" artifacts(Artifact("project-sub-module_2.11","asset", "jar", "assets"))
)

我可以在依赖项中看到这个 jar。但是它的内容似乎没有出现在公共目录中然后启动“运行”命令。

我想我需要添加类似 发布中的打包工件:= { val artifacts: Map[sbt.Artifact, java.io.File] = (packagedArtifacts in publish).value val assets: java.io.File = (playPackageAssets in Compile).value artifacts + (Artifact("project-sub-module_2.11", "asset", "jar", "assets") -> assets) } 但是对于编译过程。

提前致谢!

【问题讨论】:

    标签: sbt playframework-2.3


    【解决方案1】:

    @mount_ash 是正确的使用

    “com.company”%“project-sub-module_2.11”%“2.3.3”分类器“assets”

    在您的 build.sbt 中将资产导入您的项目。

    另一方面,要在编译时发布您的资产,您需要添加 将以下内容添加到模块的 build.sbt 中。

    packagedArtifacts += ((playPackageAssets 中的工件).value -> playPackageAssets.value)

    通过遵循这两件事,我能够在应用程序主机 Y 中使用/发现模块 X 的资产。

    【讨论】:

      【解决方案2】:

      要解决上述问题,代码应该是这样的

      libraryDependencies ++= Seq(
        javaJdbc,
        javaEbean,
        cache,
        javaWs,
        "com.company" % "project-sub-module_2.11" % "2.3.3"
        "com.company" % "project-sub-module_2.11" % "2.3.3" classifier "assets"
      )
      

      【讨论】:

        猜你喜欢
        • 2016-09-15
        • 2012-07-28
        • 1970-01-01
        • 2017-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-06
        • 1970-01-01
        相关资源
        最近更新 更多