有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

有没有工具可以重命名Java库及其引用?

这一定是个很常见的问题。应用程序依赖于库A和库B。库A依赖于库C-v1(库C的版本1),库B依赖于库C-v2(库C的版本2)中新引入的一些功能。当然,C-v2库中有一些主要的重构,这意味着它不能与C-v1库向后兼容。但是库C-v1和库C-v2有相同的包名和类名

现在,应该可以有效地“重新命名”库C-v1。例如,一个名为com的类。实例MyClass可以重新命名为old。通用域名格式。实例我的班级。完全有可能构建一个自动化工具,它接受一个二进制JAR,并以这种方式更改所有包名

还可以更改依赖库中的引用。例如,库A中对库C的任何引用都应该更改为指向新的包名

肯定已经有一个工具可以做到这一点

(注:我相信一些聪明人会提到OSGi,但我想把它作为一次性活动)


共 (2) 个答案

  1. # 2 楼答案

    不,你说的是大手术,不是整容。除了IDE和大量的艰苦思考之外,没有任何工具可以帮助实现这一点

    如果这些库来自第三方,您不能指望任何关于正确行为的担保或认证

    我同意这是一个问题(例如Spring和Hibernate依赖项之间的冲突),但您的解决方案不是可行的。这就是OSGi诞生的原因