在SBT中,可以自动命名 - 破坏私人使用的包吗?

Osc*_*kin 6 java versioning scala jar sbt

考虑使用特定版本化jar来实现方法的常见情况,但不公开公共或受保护API中该jar的任何类型(仅在私有方法的方法签名中).

现在我想要的是通过名称自动编译时链接此代码 - 修改原始包名称并将其替换为SBT中生成的代码(同样:我想在SBT中添加插件或在build.sbt中添加设置这样做每一个sbt compile).

这样做的目的是避免使用具有相同包/类名的类的多个可能不兼容的版本的类路径错误.注意:在我上面描述的情况中,内联或这个名称修改应该始终有效,并允许一个人走向版本地狱(以更大的罐子为代价).

Pau*_*her 1

这听起来像是ProGuard能够做的事情。有一个SBT ProGuard 插件,但它似乎没有得到积极维护。

如果我要解决这个问题,就我个人而言,我会寻找自定义类加载器来寻求解决方案,而不是名称修改。