Java 罐子大小因人而异
所以,我有一个有趣的问题。我有三个人使用同一个ant build xml文件为一个Eclipse项目创建了一个jar文件,这个文件在两个月内没有改变。我们每个人都使用这个xml文件进行构建,我们每个人都得到一个不同大小的jar(62KB、78KB和101KB)。而且,当我对它们进行winmerge时,它们会有很大的不同Java 罐子大小因人而异,java,eclipse,ant,jar,Java,Eclipse,Ant,Jar,所以,我有一个有趣的问题。我有三个人使用同一个ant build xml文件为一个Eclipse项目创建了一个jar文件,这个文件在两个月内没有改变。我们每个人都使用这个xml文件进行构建,我们每个人都得到一个不同大小的jar(62KB、78KB和101KB)。而且,当我对它们进行winmerge时,它们会有很大的不同 什么会导致这种差异?首先要尝试的是:将它们全部复制到同一台计算机上,在不同的目录中解压,然后在未压缩的版本上运行WinDiff(或其他)。这将使事情变得更加明显 其他可能性-默认
什么会导致这种差异?首先要尝试的是:将它们全部复制到同一台计算机上,在不同的目录中解压,然后在未压缩的版本上运行WinDiff(或其他)。这将使事情变得更加明显
其他可能性-默认情况下,不同版本的Java使用不同的压缩级别?除了Jon的建议之外,ant script是否会选择用户偏好 例如,
build.properties
文件,可以位于项目目录、用户主目录等中
可能每个人的工作站上都有不同的项目自定义设置。听起来,当流程开始时,被合并在一起的文件夹并不是空的。我能看到的唯一区别是:
你说winmerge显示了巨大的差异。这些w.r.t.是jar内各种组件的大小,还是存在结构差异(文件夹结构、不同文件等)?后者肯定更令人困惑。当您运行winmerge时,这是针对压缩的jar还是针对未压缩的jar?这些结果是在相同的平台上还是不同的平台上?另外,即使JAR文件不同,如果你把它们解包,所有的文件都是一样的吗?啊,很好。我提取了它们并比较了未压缩的版本。两个比另一个更相似。有趣的是,我似乎正在使用Ant1.7.1,但另一个正在使用Ant1.7.0。除此之外,我们三个都只使用1.7.0。奇怪。听起来是建立构建服务器的好时机。我不知道。我必须看看这个文件是否存在,也许还有其他文件被卷入其中。你能告诉我其他人要找的方向吗?@dopyii。在build.xml和顶级build.xml导入的任何文件中查找
或
任务。我将它们都放在同一台计算机上。在提取它们之后,我确实看到了一些我未能从项目中删除的度量文件的一个非常明显的差异。除此之外,类文件名和结构是相同的。但是,由于某些原因,类文件被标记为不同。我们也都在使用Java1.6.0.17,压缩级别应该是相同的。我想我发现的问题比答案多。很好的建议。1:可能有不同的EV,但我们都使用相同的编译器和版本。不使用其他打包实用程序。2:这是值得研究的。我们使用许多FOSS/COTS产品,因此根据构建和包含顺序可能会选择不同的版本(这是一个可怕的想法)。3:不是这样的。winmerge中显示的差异表明字节码是不同的。长度不同,约有1/2的内容不同。