当你使用默认排除模式的时候,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,然后在你自己的套件描述符中定义一组排除模式。

