Java 手动编辑Jar以更改包名称
我有一个来自外部源的jar文件。jar中的所有类都在com.xyz包中 我想将所有类移到com.xyzold包中 这是简单的解压jar、将xzy文件夹重命名为xyzold并对其重新压缩,还是我还需要修改每个类文件Java 手动编辑Jar以更改包名称,java,maven,Java,Maven,我有一个来自外部源的jar文件。jar中的所有类都在com.xyz包中 我想将所有类移到com.xyzold包中 这是简单的解压jar、将xzy文件夹重命名为xyzold并对其重新压缩,还是我还需要修改每个类文件 这是我的解决方案,使用 下面是我的rules.txt文件的内容: rule com.google.** com.googleold.@1 不,您需要修改jar文件中的所有类。您需要有一个源代码才能更改包。您还需要修改所有Java源文件。不仅是包名,还有导入,以及任何可能的内联声明。
这是我的解决方案,使用 下面是我的rules.txt文件的内容:
rule com.google.** com.googleold.@1
不,您需要修改jar文件中的所有类。您需要有一个源代码才能更改包。您还需要修改所有Java源文件。不仅是包名,还有导入,以及任何可能的内联声明。不值得。你应该看看。(我不为姓名承担任何责任:))
它的主要用例是将外部jar嵌入到您自己的jar中,为此,它可以重新命名现有的包。它改变了必要的字节码。你可以调整它来做你想做的事。你可以用它来实现。此外,您不需要要修改的类的源代码,因为程序是在字节码级别执行的(即,它直接修改.class文件)。您可以在Maven构建中使用来完成此操作。您可能可以使用。它当然可以在包中移动代码,并在字节码级别进行操作。它的主要目的是模糊化,但当然应该首先考虑其他选项之一。为什么需要将类移动到不同的包?它们有一个新项目,使用相同的包和类名。它本来应该是完全向后兼容的,但事实并非如此。我们有一个很大的代码库,依赖于旧版本。有更新的吗?
rule com.google.** com.googleold.@1