如何在Java Maven项目中添加exe文件作为资源?

时间:2016-08-24 19:55:32

标签: java maven

背景:我有一个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一样被修改?

1 个答案:

答案 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