maven - Maven 发布插件:不允许匹配“[xX][mM][lL]”的处理指令目标
问题描述
最近,在执行Maven 发布插件的release:prepare目标时,我们的 Ci 工作突然出现在我面前。我收到一个奇怪的 SAX 解析错误:
Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed.
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1472)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(XMLScanner.java:746)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(XMLDocumentFragmentScannerImpl.java:1014)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(XMLScanner.java:714)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:907)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
build 25-Sep-2019 13:42:25 at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
build 25-Sep-2019 13:42:25 at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
即使我可以mvn clean install
把项目做得很好......
解决方案
好的,原来其中一个子模块在 pom.xml 的开头有一个换行符。Maven 本身显然并不关心这个,但是 Maven 发布插件无法解析这个并炸毁了我。
推荐阅读
- primefaces - 如何使用 pe:sheet 跨越行和列?
- swift - 在 Vapor 中使用第三方 OAuth API
- elixir - 如何在 Ecto 中使用复杂约束?
- r - 变量选择的阶梯函数不起作用
- local-storage - PouchDB 可以预填充吗?
- sql - 不同数据库中的 Pgcrypto
- python - 具有 50 MB 值的 redis hmset 异常
- python - 从 OpenStreetMap Overpass API 输出中提取 id(字典中的 python 列表)
- javascript - 文本输入上的 Select2 4.0.5 触发事件
- html - 如何在与项目符号项目相同的列表中拥有未项目符号的项目