SBT发布本地类库
自己写的库如何发布使得其他的项目可以依赖?
首先是某个类库要定义好name, organization这些属性(在build.sbt中), 然后指定 publishTo 的值
我这里是发布到的本地的仓库, 所以Resolver使用的是文件路径, 也可以是URL,具体参考官网的文档
https://www.scala-sbt.org/1.x/docs/Publishing.html
下面的 publishLocalConfiguration.value.withOverwrite(true) 是为了允许发布的时候覆盖, 否则已存在的话, 发布会有个报错提示你加这个配置
类库的 build.sbt 定义
然后在 sbt 命令行中, 运行 pushlish 即可发布到对应路径, 可以打开对应的路径查看
控制台也会输出路径
对于依赖方, 在build.sbt中配置对应的 resolver 和 依赖即可引用相应的库了
注意这里 sbt.override.build.repos=false 才行, 不能为 true, 否则不会使用这里定义的resolvers
依赖路径中的 %% 表示ivy的依赖路径, 后面是有具体scala的版本号的,可以看到上面的发布路径中有 _2.12 的后缀
如果只使用 % 是找不到路径的, 报错信息里面也会有所体现