Eclipse - 在项目构建期间自动修改密钥库文件
Eclipse - Keystore file auto-modified during project building
我正在 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 可能将密钥库文件视为文本文件并更改其编码(工作区默认为 UTF-8),但为什么呢?
如何让 Eclipse 在将密钥库文件复制到 target
时停止更改它?
在 POM 文件中,密钥库文件必须从资源过滤中排除:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>keystore</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
我正在 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 可能将密钥库文件视为文本文件并更改其编码(工作区默认为 UTF-8),但为什么呢?
如何让 Eclipse 在将密钥库文件复制到 target
时停止更改它?
在 POM 文件中,密钥库文件必须从资源过滤中排除:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>keystore</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>