首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sbt-native-packager创建基本项目设置

如何使用sbt-native-packager创建基本项目设置
EN

Stack Overflow用户
提问于 2013-09-11 23:06:09
回答 1查看 361关注 0票数 2

我有一个使用SBT的项目设置,可以创建子项目工件。

我一直在寻找一种方法来创建一个包含子项目JAR文件以及一些元信息的JAR文件。根据建议,我查看了sbt-native-packager,它似乎具有我需要的功能。

我想知道是否有人愿意通过提供有关为插件创建框架包规范的提示来帮助我走这条路。

我认为我的配置非常简单。

我想要得到的是一个包含以下内容的JAR文件:

代码语言:javascript
复制
/manifest.xml
 module.xml
 modules/sub-project-one.jar
         sub-project-two.jar
         sub-project-three.jar

manifest.xml和module.xml文件都将从项目信息中生成。生成的JAR文件的名称将基于根项目的名称、版本和后缀"nkp.jar“(例如overlay-1.0.1.nkp.jar)。

提前感谢你的帮助,让我继续这件事。

--兰迪

EN

回答 1

Stack Overflow用户

发布于 2013-11-17 04:07:36

下面是你想要的基础知识:

代码语言:javascript
复制
val createManifestXml = taskKey[File]("Creates the packaged maniest.xml")

val createModuleXml = taskKey[File]("Creates the module.xml file.")

// TODO - Define createManifestXml + createModuleXml

mappings in Universal ++= {
   Map(createManifestXml.value -> "manifest.xml"
      module.xml -> "module.xml")
}

mappings in Universal ++= {
   val moduleJars = 
      Seq((packageBin in subProjectOne).value, 
          (packageBin in subProjectTwo).value,
          (packageBin in subProjectThree).value)
   moduleJars map { jar =>
     jar -> s"module/${jar.getName}"
   }
}

这将确保可以生成tgz/txz/zip。然后,您可以使用“通用”通用-> msi和通用-> rpm/deb映射,也可以根据需要手动创建该映射。

希望这能有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18744844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档