如何在sbt中将Jar包打包至指定自定义目录?
修改sbt Jar包输出路径的方法
没问题!要把sbt package生成的Jar包放到myDirectory/XXX.jar路径下,你只需要在项目的build.sbt文件里添加几行配置即可,这里有两种常用方案:
方案一:仅修改主编译Jar的输出路径
如果你只需要调整默认的主代码编译Jar(也就是sbt package默认生成的那个),可以添加这段配置:
// 将主Jar包的输出目录设为项目根目录下的myDirectory Compile / packageBin / target := baseDirectory.value / "myDirectory"
方案二:统一所有package任务的输出路径
如果想把测试代码生成的Jar包(执行sbt test:package时生成的)也放到同一个目录,可以用更通用的配置:
// 让所有package相关任务的输出都指向myDirectory packageBin / target := baseDirectory.value / "myDirectory"
小提示
- 修改完
build.sbt后,建议执行sbt clean package,先清理旧的Jar文件再重新生成,避免新旧文件混淆。 - 如果
myDirectory目录不存在,sbt会自动帮你创建它,不用手动新建。
内容的提问来源于stack exchange,提问作者蘇哲聖
相关产品推荐
相关产品推荐

