12.5.3. fileSets的默认排除模式

当你使用默认排除模式的时候,Maven Assembly插件不仅仅会忽略SVN和CVS信息。默认情况排除拥由Codehaus中plexus-utils项目的DirectoryScanner类定义。这个排除模式的数组被定义为一个static, final的String数组,其名称为DEFAULTEXCLUDES。该变量的内容如Example 12.8, “Plexus Utils中模式排除模式的定义”所示。

Example 12.8. Plexus Utils中模式排除模式的定义

   public static final String[] DEFAULTEXCLUDES = {
        // Miscellaneous typical temporary files
        "**/*~",
        "**/#*#",
        "**/.#*",
        "**/%*%",
        "**/._*",

        // CVS
        "**/CVS",
        "**/CVS/**",
        "**/.cvsignore",

        // SCCS
        "**/SCCS",
        "**/SCCS/**",

        // Visual SourceSafe
        "**/vssver.scc",

        // Subversion
        "**/.svn",
        "**/.svn/**",

        // Arch
        "**/.arch-ids",
        "**/.arch-ids/**",

        //Bazaar
        "**/.bzr",
        "**/.bzr/**",

        //SurroundSCM
        "**/.MySCMServerInfo",

        // Mac
        "**/.DS_Store"
    };

这个默认的模式数组会排除来自于如GNU Emacs的编辑器的临时文件,Mac中常见的临时文件,以及一些常见源码控制系统的元数据文件(虽然Visual SourceSafe得到的更多的是恶名而非源码控制系统)。如果你需要覆盖这个默认的排除模式,你可以将setDefaultExcludes设置成false,然后在你自己的套件描述符中定义一组排除模式。