所以,我有一个有趣的问题。我有三个人使用相同的ant build xml文件为两个月内未更改的Eclipse项目创建一个jar文件。我们每个人都使用这个xml文件进行构建,我们每个人都得到一个不同大小的jar(62 KB,78 KB和101 KB)。另外,当我在他们身上做了一个winmerge时,他们有很大的不同。不同人的罐子尺寸不同
什么可能会导致这种差异?
所以,我有一个有趣的问题。我有三个人使用相同的ant build xml文件为两个月内未更改的Eclipse项目创建一个jar文件。我们每个人都使用这个xml文件进行构建,我们每个人都得到一个不同大小的jar(62 KB,78 KB和101 KB)。另外,当我在他们身上做了一个winmerge时,他们有很大的不同。不同人的罐子尺寸不同
什么可能会导致这种差异?
我能看到的唯一区别可能是:导致编译器差异
你说winmerge显示出巨大的差异。这些是否是w.r.t.罐子里面各种组件的大小还是存在结构差异(文件夹结构,不同的文件等)?后者肯定会更令人困惑。
优秀的建议。 1:可能有不同的EV,但我们都使用相同的编译器和版本。没有使用其他包装实用程序。 2:这值得研究。我们使用许多FOSS/COTS产品,因此根据构建和包含顺序可能会选择不同的版本(这是一个可怕的想法)。 3:没有那样的。 winmerge中显示的差异表明字节码不同。长度不同,大约1/2的内容是不同的。 – Dave 2010-08-17 15:40:49
首先要尝试:将它们全部复制到同一台计算机上,将它们解压缩到不同的目录中,然后在未压缩的版本上运行WinDiff(或其他)。这会让事情变得更加明显。
其他可能性 - 默认情况下不同版本的Java使用不同的压缩级别?
我把它们放在同一台计算机上。解压缩之后,我看到一些指标文件存在非常明显的差异,我无法从我的项目中删除这些文件。除此之外,类文件名和结构是相同的。但是,由于某些原因,类文件被标记为不同。我们也都使用Java 1.6.0.17,并且压缩级别应该都是相同的。我想我发现了更多的问题而不是答案。 – Dave 2010-08-16 23:55:50
除了乔恩的建议,有没有用户的喜好,蚂蚁脚本可能会拾起?
E.g. build.properties
文件可以存在于项目目录,用户主目录等中。
可能是在每个人的工作站上存在不同的项目定制。
我不知道。我将不得不看看这个文件是否存在,或者是否有其他人被吸入。你能指点我的方向寻找其他人吗? – Dave 2010-08-16 23:53:33
@Dopyiii。在您的构建中寻找“
当进程开始时,像文件夹一起震动的声音不是空的。
运行winmerge时,是针对* compressed *还是* uncompressed * jar? – 2010-08-16 19:51:06
这些结果是在同一个平台上还是在不同的平台上?另外 - 即使JAR文件不同,如果解压它们,所有文件都是相同的? – 2010-08-16 19:52:15
啊,好点。我提取它们并比较了未压缩的版本。其中两个比另一个更相似。有趣的是,我似乎在使用Ant 1.7.1,但其他人正在使用Ant 1.7.0。除此之外,我们三个人都只使用1.7.0。奇怪的。 – Dave 2010-08-16 22:00:10