正如尼姆所指出的,似乎没有解决这个问题的办法。但是,我编写了一个 Groovy 脚本,您可以使用 Maven 调用 (GMaven) 来检查可能会自动关闭的 XHTML 标记。
该脚本可能需要更好的错误消息,并且不能处理所有情况,但到目前为止已经缓解了该问题。
#!/usr/bin/env groovy
def srcdir = project.properties['srcdir'];
def badFiles = [];
def checkFile(badFiles, file) {
def htmlLines = file.readLines();
def found = [];
int i = 0;
for (html in htmlLines) {
++i;
//print html;
def m = html =~ /<(\w+)[^>]*?><\/(\w+)>/
def bad = m.findAll { it[1] == it[2] };
if (bad)
found.add(['bad' : bad, 'line' : i]);
}
if (found) {
badFiles << file;
println "File had bad HTML: " + file.canonicalPath;
println found;
}
}
def ant = new AntBuilder();
scanner = ant.fileScanner {
fileset(dir:srcdir) {
include(name:"**/*.jspx")
}
}
for (f in scanner) {
//println "Checking file: " + f.canonicalPath;
checkFile(badFiles, f);
}
if (badFiles) {
println "Bad files: " + badFiles;
fail('Bad files: ' + badFiles);
}