java.util.zip存在本机内存使用的众所周知的问题,因此我尝试使用名为“jazzlib”的插件替换。不幸的是,对于sourceforge项目来说,这是没有文档的。如果我将jar添加到我的类路径中,那么Java就会惊慌失措并给我“禁止包名”错误,因为它取代了java.util.zip。我如何告诉Java这是我想要它做的?
答案 0 :(得分:2)
将其添加到引导类路径或将其添加为背书jar。
或许更好,使用shade将类重命名为受保护的包,并以这种方式使用它们。如果你使用maven,maven-shade-plugin很方便。
答案 1 :(得分:2)
有关最新的源代码,请参阅classpath CVS存储库。在此页面上,您将在net.sf.jazzlib和java.util.zip命名空间中找到代码的源代码和二进制版本。
只需使用net.sf.jazzlib命名空间中的那个,这样就可以避免冲突。
答案 2 :(得分:1)
您可以使用命令行arg -Xbootclasspath
为JRE中提供的类指定替代。查看this link了解详情。
答案 3 :(得分:1)
我不会在我的JRE中安装一些随机(未记录的)库替换,当然我也不会为生产系统或我打算提供给其他人的应用程序执行此操作。生产支持人员(正确地)会被要求做这种事情。
但如果你真的想这样做,@ bmargulies和@akf的答案会有所帮助。