6

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

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

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

4

1 回答 1

1

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

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

于 2012-12-31T21:48:51.487 回答