Java 加载库jar时出错

Java 加载库jar时出错,java,swing,jar,compression,7zip,Java,Swing,Jar,Compression,7zip,我使用7-zip压缩了我的库jar文件,并对其进行了超压缩,使其尺寸更小。但在那之后,当我在Netbeans中使用它时,我的Swing应用程序不会显示我加载的库jar。Java无法访问库jar文件中的内容 7-zip压缩在Java中不支持吗?有什么方法或补救措施来解决这个问题 有没有其他java压缩工具可以将jar文件压缩到更小的大小 我的jar文件1大小是13mb,我的客户觉得这是一个很重的负载,他希望这是一个非常小的大小。使用pack200,我将罐子大小设置为4.5mb(这很好)。但最终导

我使用7-zip压缩了我的库jar文件,并对其进行了超压缩,使其尺寸更小。但在那之后,当我在Netbeans中使用它时,我的Swing应用程序不会显示我加载的库jar。Java无法访问库jar文件中的内容

7-zip压缩在Java中不支持吗?有什么方法或补救措施来解决这个问题

有没有其他java压缩工具可以将jar文件压缩到更小的大小


我的jar文件1大小是13mb,我的客户觉得这是一个很重的负载,他希望这是一个非常小的大小。使用pack200,我将罐子大小设置为4.5mb(这很好)。但最终导致错误加载到主jar文件中

  • 我的应用程序的Jar库文件。它有DJ native Swing和其他类,如PPT reader等

  • 必须使用
    jar
    工具压缩
    .jar
    文件。格式本身本质上是
    zip
    ,带有一些特定于Java的元数据


    我认为标准类加载器不支持其他压缩格式。

    必须使用
    jar
    工具压缩
    .jar
    文件。格式本身本质上是
    zip
    ,带有一些特定于Java的元数据


    我认为标准类加载器不支持其他压缩格式。

    使用“标准压缩”或pack200压缩它们——JVM只理解这两种压缩格式。当然,这是非常好的。我通常从Ant构建脚本中调用它


    减少可分发类大小的一个很好的方法是混淆代码。虽然最终无法提供通常使用的“代码保护”,但模糊处理通常会使二进制文件大大缩小(40%-60%)


    我的应用程序的库文件。。它有dj native swing和其他类,如ppt reader等

    尝试一下模糊处理和标准压缩。报告加载和验证的大小和成功/失败

    因为它显然是桌面应用程序,还考虑拆分应用程序。放在不同的罐子里,然后懒洋洋地把它们送出去。这意味着它们仅在需要时加载。例如,PPT阅读器可能用于帮助系统。无需加载应用程序的帮助。只有当他们到达F1时,才能进入屏幕

    通过延迟加载,PPT阅读器和帮助文件将仅在用户请求帮助时下载,然后使用进度对话框下载


    更好的是,如果API得到更新,只需将更新的Jar加载到服务器,JWS就会自动更新客户端上的版本(如果需要-例如,它不会更新任何尚未缓存的“惰性”Jar)。

    使用“标准压缩”或,或者通过使用pack200——JVM所理解的仅有的两种压缩格式。当然,这是非常好的。我通常从Ant构建脚本中调用它


    减少可分发类大小的一个很好的方法是混淆代码。虽然最终无法提供通常使用的“代码保护”,但模糊处理通常会使二进制文件大大缩小(40%-60%)


    我的应用程序的库文件。。它有dj native swing和其他类,如ppt reader等

    尝试一下模糊处理和标准压缩。报告加载和验证的大小和成功/失败

    因为它显然是桌面应用程序,还考虑拆分应用程序。放在不同的罐子里,然后懒洋洋地把它们送出去。这意味着它们仅在需要时加载。例如,PPT阅读器可能用于帮助系统。无需加载应用程序的帮助。只有当他们到达F1时,才能进入屏幕

    通过延迟加载,PPT阅读器和帮助文件将仅在用户请求帮助时下载,然后使用进度对话框下载

    更好的是,如果API得到更新,只需将更新后的Jar加载到服务器,JWS就会自动更新客户端上的版本(如果需要,例如,它不会更新任何尚未缓存的“惰性”Jar)

    7-zip压缩在java中不支持吗

    这是正确的。Java无法处理已被某些第三方工具压缩的JAR文件

    最简单的选择是不这样做。(扔掉一些电影或任何正在使用光盘的东西:-)

    下一个最简单的选项是使用7-zip工具解压缩文件,然后再尝试在Java中使用它

    最后,如果您只是试图使用这个超级压缩的JAR文件执行应用程序,那么您可以编写一个类加载器,使用7-zip动态解压缩JAR文件。(或者,如果发布了7-zip使用的算法,您可以在Java中实现解压器并将其嵌入到类加载器中。)

    7-zip压缩在java中不支持吗

    这是正确的。Java无法处理已被某些第三方工具压缩的JAR文件

    最简单的选择是不这样做。(扔掉一些电影或任何正在使用光盘的东西:-)

    下一个最简单的选项是使用7-zip工具解压缩文件,然后再尝试在Java中使用它


    最后,如果您只是试图使用这个超级压缩的JAR文件执行应用程序,那么您可以编写一个类加载器,使用7-zip动态解压缩JAR文件。(或者,如果发布了7-zip使用的算法,您可以在Java中实现解压器并将其嵌入到类加载器中。)

    7zip类加载器将有一个额外的问题-7-zip算法需要一个大的数据空间来保存字典,这可能比JVM可用的空间要大。我相信超压缩需要几百兆字节。7zip类加载器还有一个问题——7-zip算法需要一个la