在构建期间复制到Java资源目录时,Maven会破坏WAV文件

时间:2017-06-02 15:21:51

标签: java maven audio build wav

我有一个需要播放WAV文件的小型Maven Java项目,所以为了简单起见,我更喜欢简单地将文件放入lr文件夹。但是,如果使用AudioSystem.getAudioInputStream(...)从磁盘加载的相同WAV文件然后放入Maven资源目录中,程序将抛出RIFFInvalidDataException的实例:

lr + 1

此外,如果我使用VLC尝试在src/main/resources/*打开WAV文件,程序实际崩溃;处理原始文件没有任何问题

Maven在我的音频文件中做了什么?我使用嵌入Eclipse Neon.3 v4.6.3(版本20170314-1500)的3.3.9 / 1.7.0.20160603-1931版本,遗憾的是无法尝试使用"正确的" Eclipse之外的Maven实例因为构建取决于a nightmare hybrid of an old Eclipse project including both Java source and pre-compiled DLLs and a Java-only Maven project

2 个答案:

答案 0 :(得分:1)

你可能有过滤有副作用。根据资源插件的文档,您可以禁用这样的过滤:

<project>
...
<build>
    ...
    <resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
    </resource>
    ...
    </resources>
    ...
</build>
...
</project>

要查看文档,请查看here

答案 1 :(得分:1)

可能是maven资源插件在将.wav文件复制到目标目录时对其进行过滤。查看https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html。您可能必须添加排除项以确保不对该特定文件进行过滤。