我们有一些遗留的 Java 应用程序,在类路径上有许多类文件夹和冗余 jar。一个供应商甚至通过我们必须预先添加到类路径的“覆盖”jar 来发布更新。虽然清理应该是一个中期目标,但我想知道是否有任何工具可以将所有这些目录/jar 折叠成一个结构,该结构代表实际上将在运行系统中类加载的文件版本. 我想我可以编写一个脚本,以正确的顺序复制目录并破解 jar 等。但是,我希望这已经完成了。
OneJar ( http://one-jar.sourceforge.net/ ) 可以将类路径收集到一个封闭的 jar 中,但它依赖于一个特殊的类加载器实现来访问 jar 中的 jar。
下面的评论者(谁应该重新提交这个作为答案!)有一个很好的建议。我还没有机会测试它。