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

时间:2012-12-31 18:59:49

标签: java scala jar versioning sbt

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

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

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

1 个答案:

答案 0 :(得分:2)

这听起来像是ProGuard能做的事情。有SBT ProGuard plugin,但似乎没有积极维护。

如果我正在处理这个问题,我个人会说我会寻找一个自定义类加载器来寻找解决方案,而不是命名错误。