在OS X上运行ProGuard:苹果在什么地方相当于rt.jar?

2022-09-01 15:48:01

我正在运行 ProGuard 来缩小我的 jar 文件。它需要的参数之一是系统的运行时 jar。这在Sun发行版上,但在Apple的Mac OS X上不是(在我的情况下是v10.6(Snow Leopard))。$JAVA_HOME/lib/rt.jar

OS X 是否有 rt.jar?


答案 1

它被称为类.jar它位于/System/Library/Frameworks/JavaVM.framework/Classes下。

有关详细信息,请查看此处:

http://lists.apple.com/archives/java-dev/2003/Mar/msg01530.html


答案 2

此博客文章介绍了一种相对直接的方法来解决问题,而无需修改 Proguard 配置。

该条目建议创建两个符号链接,以便并存在于Proguard期望它们的路径中。rt.jarjsse.jar

站在目录中并运行以下命令为我解决了这个问题:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib

sudo ln -s ../../Classes/classes.jar rt.jar
sudo ln -s ../../Classes/jsse.jar .