我正在开发一个 Java Web应用程序 ,其中包括 一个applet 。该小程序依赖于两个jar文件:
- JFreeChart(用于在客户端绘制图) -1.7
mb(jar文件的大小)- MySqlJdbcConnector(用于将在客户端捕获的数据存储到远程数据库)-. 7 mb(JAR文件的大小)
现在,问题是上述两个jar文件的大小。我的小应用程序jar (myApplet.jar) 的总大小为 2.5 mb ,其中有 2.4
mb 是因为上述两个jar文件。我没有在这些jar文件中使用所有类。具体来说,对于 jfreechart ,我使用的是该库中很少的类。
============================ 问题 =================== ===================
Q1。 为了创建 myApplet.jar
文件,我要做的是解压缩两个jar文件(jfreechart和mySQLJdbcConnector),然后将解压缩后的jar文件版本与applet代码的源代码打包在一起以创建一个单独的jar文件(
即myApplet.jar)。 用您的applet代码打包第三方jar文件是否正确?有什么方法可以优化此效果?
Q2。 我试图找到我在应用程序中使用的jfreechart库类的依赖关系,以便仅将那些依赖关系打包在 myApplet.jar中。
为此,我使用DependencyAnalyzer查找所有类的依赖项。但是后来我发现很难手动执行此操作,因为每个类(我在应用程序中使用的jfreechart类)都具有很多依赖关系,并且我正在使用约15个jfreechart类,因此对每个类执行此操作将非常困难。那么对此有什么建议吗?
Q3。 开发人员遇到这种情况是否很常见,还是因为我必须这样做而错过了某些东西?
问题内容: 有什么办法可以减少jar文件的大小? 我想要一个减少未使用依赖性的工具。 我使用Maven进行依赖管理。 问题答案: 从Maven的角度来看,JAR文件通常不包含依赖项。因此,您必须在谈论: WAR或EAR或类似文件, 通过合并大量JAR文件而产生的所谓的UberJAR文件;例如使用Maven阴影插件,或 依赖比Maven模块更精细。 在前两种情况下,可以通过在依赖关系规范或war或s
我有一个应用程序,它使用大量的内存来区分两个潜在的巨大(100k)目录的内容。对我来说,这样的操作会占用大量内存是有道理的,但是一旦我的 diff'ing 操作完成,堆的大小就会保持不变。 我基本上有实例化类的代码,用于存储源和目标上每个文件的文件名、文件大小、路径和修改日期。我将添加、删除和更新保存在其他数组中。然后,我我的源数组和目标数组(现在可能每个都是100k),只剩下相对较小的添加、删除
问题内容: 我们将Java 6 JRE与我们的应用程序安装程序捆绑在一起,以便可以在任何计算机上运行,但这会使应用程序变得更重。因此,我们计划减小JRE的大小。如果有人完成了此类任务,您能否提供指导以继续前进? 问题答案: 查看JRE目录中的README文件。“可选文件和目录”部分列出了一些文件(如果将它们与应用程序打包在一起,可以从Oracle / Sun JRE中删除)。 创建安装时,我使
问题内容: 我已经为Java项目开发了一个模块。该模块取决于外部库()。问题是,该文件比整个项目本身(14 MB)大两倍。我仅使用库中类的一小部分。该模块现已完成,将来没有人会对其进行扩展。有没有一种方法可以将相关类仅提取给某些类,以便其他人不必下载所有这些额外的内容? 问题答案: ProGuard之类的混淆工具通常提供从jar文件中删除未使用的类(甚至字段和方法)的功能。但是,您必须小心确认所有
问题内容: 我有一个超过40MB的简单tomcat pyinstaller exe。 我的exe示例: 40MB +似乎有点矫kill过正。 如何尽可能减少这种情况? 一种方法: 但是考虑到排除列表的大小,这是不切实际的。 如何为pyinstaller选择一个文件夹,以从中获取模块并排除其他所有内容,所以我的应用程序可能很小? 规格文件: 这也值得一提。默认情况下,Pyinstaller不会检测到
问题内容: 我正在运行的代码将创建包含多个用户定义类的大对象,然后必须对其进行序列化以供以后使用。据我所知,只有酸洗才能满足我的需求。我一直在使用cPickle来存储它们,但是它生成的对象大约是40G,来自运行在500 mb内存中的代码。序列化的速度不是问题,但是对象的大小是问题。我可以使用任何技巧或替代方法来使泡菜变小吗? 问题答案: 如果您必须使用pickle并且没有其他序列化方法对您有用,那