我们在项目工作空间运行mvn -X -e clean包时遇到了问题,它产生了以下错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project eWell-web: Input length = 1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources **(default-resources)** on project eWell-web: Input length = 1
我强调了重要的部分,因为这有助于我们隔离问题。显然,通过阅读其他文章,我们确定默认资源路径中的文件中存在一些无关的字符。在我们的例子中,这是src/main/resources。
坏文件有一个以:
结尾的消息�3215.
这些字符是0xEF, 0xBF, 0xBD
在文本编辑器中显示为:3215中的位置限制。
我们应该如何解决这个问题?
我们打开notepad++中每个有编码菜单选项的文件并检查它们。其中一个文件叫做消息。属性,不是UTF-8编码。我们将其转换为UTF-8,然后对两个文件进行比较。
在显示方面,它现在显示为段落标记:§3215中的位置限制。
即0xC2, 0xA7
maven命令再次运行良好。
这类似于这里的线程:Maven Clean Install Failed to Execute Goal,这里有很多答案,这些答案只会让我们徒劳无功。两个最有用的答案是:
无效字符可能导致问题。属性文件编码错误vs Maven (ANSI vs UTF-8)