sbt/sbt-native-packager
仓库概览、指标与主题
简要分析
编辑推荐
社区关注度与协作度较高,适合实践与生产使用。
语言占比
Release
- 1.11.72026-01-13
相关仓库
Apache Spark - 一个用于大规模数据处理的统一分析引擎
Scala 2编译器和标准库。Scala 2 https://github.com/scala/bug bugs;斯卡拉3 at https://github.com/scala/scala3
它像 git-filter-branch 一样移除大块或麻烦的块状物,但更快。而且是在斯卡拉写的
CMAK 是一个用于管理 Apache Kafka 集群的工具
一个容错、协议无关的RPC系统
一个开源存储框架,支持构建包含 Spark、PrestoDB、Flink、Trino 和 Hive 等计算引擎及 API 的 Lakehouse 架构
开源高性能RISC-V处理器
README
SBT Native Packager
Goal
SBT native packager lets you build application packages in native formats. It offers
different archetypes for common configurations, such as simple Java apps or server applications.
Issues/Discussions
-
Discussion/Questions:
If you wish to ask questions about the native packager we’re active on Stack Overflow. You can either use thesbttag or the
sbt-native-packagertag. They also have far better search support for working around issues. -
Docs:
Our docs are available online. If you’d like to help improve the docs, they’re part of this
repository in thesrc/sphinxdirectory. ScalaDocs are also available.The old documentation can be found here
-
Issues/Feature Requests:
Finally, any bugs or features you find you need, please report to our issue tracker.
Please check the compatibility matrix to see if your system is able to
produce the packages you want.
Features
- Build native packages for different systems
- Universal
zip,tar.gz,xzarchives debandrpmpackages for Debian/RHEL based systemsdmgfor macOSmsifor Windowsdockerimagesgraalvmnative images
- Universal
- Provide archetypes for common use cases
- Java application with start scripts for Linux, macOS and Windows
- Java server application adds support for service managers:s
- Systemd
- Systemv
- Upstart
- Java8 jdkpackager wrapper
- Java11 jlink wrapper
- Optional JDeb integration for cross-platform Debian builds
- Optional Spotify docker client integration
Installation
Add the following to your project/plugins.sbt file:
// for autoplugins
addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "<version>")
In your build.sbt enable the plugin you want. For example the
JavaAppPackaging.
enablePlugins(JavaAppPackaging)
Or if you need a server with autostart support
enablePlugins(JavaServerAppPackaging)
Build
If you have enabled one of the archetypes (app or server),
you can build your application with
sbt <config-scope>/packageBin
Examples
# universal zip
sbt Universal/packageBin
# debian package
sbt Debian/packageBin
# rpm package
sbt Rpm/packageBin
# docker image
sbt Docker/publishLocal
# graalvm image
sbt GraalVMNativeImage/packageBin
Read more in the specific format documentation on how to configure and build your package.
Documentation
There’s a complete “getting started” guide and more detailed topics available at the sbt-native-packager site.
Please feel free to contribute documentation, or raise issues where you feel it may be lacking.
Contributing
Please read the contributing.md on how to build and test native-packager.
Related SBT Plugins
These are a list of plugins that either use sbt-native-packager, provide additional features
or provide a richer API for a single packaging format.
- sbt-aether
- sbt-assembly
- sbt-docker
- This is in addition to the built-in Docker Plugin from sbt-native. Both generate docker images.
sbt-dockerprovides more customization abilities, while theDockerPluginin this project integrates more directly with predefined archetypes.
- This is in addition to the built-in Docker Plugin from sbt-native. Both generate docker images.
- sbt-kubeyml
- sbt-newrelic
- sbt-packager
- sbt-package-courier
Maintainers
- Nepomuk Seiler (@muuki88)
- Alexey Kardapoltsev (@kardapoltsev)
- Derek Wickern (@dwickern)
- Felix Satyaputra (@fsat)
Credits
- Josh Suereth for the initial development
- Sascha Rinaldi for the native-packager logo

评论