如何通过sbt命令行创建含自定义.yml文件的Java Artifact?
用sbt命令行构建包含.yml文件的Scala/Java Jar包
要实现这个需求其实很简单,sbt本身自带标准的资源处理机制,不用复杂配置,按下面步骤操作即可:
第一步:放置.yml文件到标准资源目录
把你的.yml文件放到项目根目录下的src/main/resources文件夹中——sbt默认会自动将这个目录下的所有文件打包进最终的jar包,无需额外配置。如果该目录不存在,直接新建一个就行。第二步:确认基础sbt配置(可选)
你的build.sbt只需要保留最基础的项目配置,示例如下:name := "MyScalaProject" version := "1.0" scalaVersion := "2.13.12" // 替换为你实际使用的Scala版本资源相关的逻辑sbt会自动处理,不用额外添加配置项。
第三步:执行打包命令
在项目根目录打开终端,运行:sbt package命令执行完成后,生成的jar包会存放在
target/scala-<你的Scala版本>/目录下,文件名格式一般为[项目名]_[Scala版本]-[版本号].jar,比如MyScalaProject_2.13-1.0.jar。第四步:验证jar包内容
要确认.yml文件是否已被成功打包,可使用jar命令查看jar包内的文件列表:jar tf target/scala-2.13/MyScalaProject_2.13-1.0.jar在输出结果中找到你的.yml文件名,能看到就说明打包成功。
自定义资源目录的情况(可选)
如果你的.yml文件不想放在src/main/resources里,比如放在项目根目录的config文件夹下,可在build.sbt中添加以下配置,将自定义目录加入资源路径:
unmanagedResourceDirectories in Compile += baseDirectory.value / "config"
这样sbt打包时也会自动包含config目录下的所有文件。
内容的提问来源于stack exchange,提问作者Plegeus
相关产品推荐
相关产品推荐

