你如何让Intellij IDEA排除对maven pom中列出的大文件的过滤?

时间:2010-12-07 17:51:52

标签: filter intellij-idea maven pom.xml

每当我在IntelliJ IDEA中运行单元测试时,我都会收到此错误:

/home/egervari/IdeaProjects/jobprep-stable/src/main/resources/dict/noun.txt

Maven:文件太大,无法过滤。它很可能是一个二进制文件,应该从过滤中排除。

问题是,我明确地排除了这个文件:

    <filters>
        <filter>src/main/filters/environment.${env}.properties</filter>
    </filters>

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>src/main/resources/dict**</exclude>
            </excludes>
        </resource>
    </resources>

我的pom.xml写得不正确吗?我如何让IDEA尊重我实际写的内容?

基本上我想要实现的是将资源目录中的所有内容都放在类路径中,但我只想过滤applicationContext.xml。基本上,我希望maven / idea不要触摸其他文件,因为那里容易有20兆。

2 个答案:

答案 0 :(得分:4)

这是解决方案。

    <filters>
        <filter>src/main/filters/environment.${env}.properties</filter>
    </filters>

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/dict</directory>
            <filtering>false</filtering>
        </resource>
    </resources>

启动时测试运行速度要快得多。

答案 1 :(得分:0)

您还可以根据文件类型而非纯位置进行过滤:

<includes>
   <include>**/*.xml</include>
   <include>**/*.properties</include>
</includes>

还有一个<excludes>标记。