代码之家  ›  专栏  ›  技术社区  ›  dacracot

在OSX上运行proguard:apple与rt.jar的等价物在哪里?

  •  26
  • dacracot  · 技术社区  · 15 年前

    我在跑步 ProGuard 缩小我的JAR文件。它需要的参数之一是系统的运行时jar。这是在 $JAVA_HOME/lib/rt.jar 关于太阳分布,但不是苹果的Mac OS X(在我的例子中是v10.6(雪豹)。

    有没有适合OS X的RT.JAR?

    3 回复  |  直到 7 年前
        1
  •  22
  •   Vlad    15 年前

    它名为classes.jar,位于/system/library/frameworks/javavm.framework/classes下

    请在此处查看详细信息:

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

        2
  •  12
  •   Henrik Aasted Sørensen    13 年前

    This blog entry 描述了一种不修改Proguard配置而解决问题的相对直接的方法。

    条目建议创建两个符号链接,以便 rt.jar jsse.jar 存在于Proguard预期的路径中。

    站在 /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 .
    
        3
  •  3
  •   Community CDub    8 年前

    有一些关于如何到达 rt.jar 相当于 What should I set JAVA_HOME to on OSX 问题。

    简短的答案是使用 /usr/libexec/java_home 或设置 JAVA_HOME $(/usr/libexec/java_home) 然后找到 classes.jar (操作系统x相当于rt.jar)at JAVA_HOME/bundle/Classes/classes.jar