背景:我有一个exe文件,我想从我的Java Maven项目复制到用户的主目录。我的项目完成运行后,我将从他们的主目录中删除此exe文件。我需要将此exe文件用作第三方资源,以便执行我需要为此项目执行的操作
问题: 我已经在我的src / test / resources文件夹中以及我的src / main / resources文件夹中添加了exe文件。当我使用maven构建项目并运行测试用例时,exe文件将被正确复制和删除。
但是,当我运行Java项目时,exe文件无法运行。我收到一条错误消息:此版本的xxx.exe与您运行的Windows版本不兼容。检查计算机的系统信息,以确定是否需要该程序的x86(32位)或x64(64位)版本,然后与软件发行商联系。
测试文件夹和主文件夹引用不同的资源文件夹,这就是测试文件夹成功而主要文件夹不成功的原因。 我检查了我的项目的目标类。在/ target / test-classes文件夹中,.exe文件保持不变。它是540 KB,这是正确的。在/ target / classes文件夹中,.exe文件似乎已被修改。它是786 KB。发生了什么以及如何配置它以便exe文件不会像构建期间的/ target / test-classes一样被修改?
答案 0 :(得分:1)
在pom.xml中
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>exe</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
https://maven.apache.org/plugins/maven-resources-plugin/examples/binaries-filtering.html