【问题标题】:How to change the modified time stamp of files in a jar with a Tycho build如何使用 Tycho 构建更改 jar 中文件的修改时间戳
【发布时间】:2021-08-09 10:57:30
【问题描述】:

我有一个构建一些插件的 Tycho 构建。我需要配置构建以使其可重现 - 这意味着不同构建运行创建的工件必须相同。

对于我的构建,目前情况并非如此。 2 个构建运行工件的不同之处在于 jar 中文件的元数据。每个构建的“修改”时间戳都不同。

所以我的问题是:第谷是否提供了一种将修改后的时间戳设置为特定值的方法?还是有其他方法可以做到这一点?

【问题讨论】:

  • 为什么要关心“修改”时间?不同的时间戳会导致什么问题?
  • @jFabianMeier 问题在于不同的时间戳会在二进制级别上更改 jar。所以当我比较两个相同的罐子时,它告诉我它们不一样,因为元数据 - 修改后的时间戳 - 不同
  • 为什么这是个问题?为什么不比较它们,而忽略修改日期的差异?
  • @jFabianMeier 我不知道如何忽略修改后的日期。我有点假设这无济于事。所有 jars 都以 RPM 结尾,并且此校验和需要匹配同一构建的任何其他 RPM 校验和。我认为这只能使用完全相同的二进制文件。

标签: eclipse maven tycho


【解决方案1】:

我现在能够修复它。 maven 插件 reproducible-build-maven-plugin 正是我需要的:

<plugin>
    <groupId>io.github.zlika</groupId>
    <artifactId>reproducible-build-maven-plugin</artifactId>
    <version>0.13</version>
    <executions>
        <execution>
            <goals>
                <goal>strip-jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

【讨论】:

    猜你喜欢
    • 2011-08-06
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    相关资源
    最近更新 更多