【问题标题】:Eclipse - Keystore file auto-modified during project buildingEclipse - 在项目构建期间自动修改的密钥库文件
【发布时间】:2020-02-14 08:33:34
【问题描述】:

我正在 Eclipse 2019-06 (4.12.0) 中开发一个 Maven 项目。我向src/main/resources 添加了一个密钥库文件。 Eclipse构建项目时,将keystore文件复制到target/classes

有趣的是,复制的文件比原始文件大,而且它不再是有效的密钥库文件。我使用 Java 代码和 KeyStore Explorer 应用程序对此进行了测试。如果我删除复制的文件,更改原始文件的名称,然后重新构建项目,那么复制的文件将具有新名称,因此 Eclipse 肯定会从 src/main/resources 复制密钥库文件,但由于某种原因改变了它的结构。

我查看了复制的文件,原始文件以FE ED FE ED ... 开头,而复制的文件以四个EF BF BD 序列开头。后者是Unicode replacement character 的UTF-8 编码。 Eclipse 可能将 keystore 文件视为文本文件并更改其编码(工作区默认为 UTF-8),但为什么呢?

如何让 Eclipse 在将密钥库文件复制到 target 时停止更改它?

【问题讨论】:

    标签: java eclipse maven build keystore


    【解决方案1】:

    在POM文件中,keystore文件必须从资源过滤中排除:

    <build>
        ...
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>keystore</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-16
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多