一。问题:
在进行Maven的clean和package指定的时候,出现了以下错误:
[FATAL] Non-parseable settings D:\linux\maven\apache-maven-3.3.9\conf\settings.xml: expected START_TAG or END_TAG not TEXT (position: TEXT seen … across the set of mirrors.\n |\n\n –> \n <mirrors>\n \n\ua0\ua0 \ua0<m… @156:7) @ D:\linux\maven\apache-maven-3.3.9\conf\settings.xml, line 156, column 7
二。原来的文件
项目中的pom.xml文件的内容是:
<?xml version=”1.0″ encoding=”UTF-8″?>
<project xmlns=”http://maven.apache.org/POM/4.0.0″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>itstar</groupId>
<artifactId>Flume</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!– flume核心依赖 –>
<dependency>
<groupId>org.apache.flume</groupId>
<artifactId>flume-ng-core</artifactId>
<version>1.8.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<!– 打包插件 –>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass></mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!– 编译插件 –>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
在我的settings.xml文件中的结构如下:
三。尝试
参考: Non-parseable settings C:\Users\xxxx.m2\settings.xml:错误 maven项目下载jar是空包解决方案
这个错误很明显就是说我们maven项目当中settings.xml 配置文件当中出错了,基本是问题就是两种:
一:我们没有配置好maven要下载的jar指定地址,所以maven项目帮我们下载jar包时候找不到存放地址报错
二:settings.xml 配置文件中我们配置了什么错误的配置导致maven加载xml文件时候报错
我讲aliyun的仓库地址改成最新的,检查了alimaven的<mirror>中的所有数据。都没有用。
四。解决
参考:maven安装本地接口失败
注意:必须把父级的包安装本地来:
第一步:先把父级的pom.xm的中的<build>节点全部注释掉
第二步: 删除settings.xml文件中的<mirrors>标签
注意:
如果apache-maven-3.6.1的settings.xml配置文件里面有mirrors标签,不能安装
必须删除,如图删除下面的mirrors,这个是为了让maven连接国内的仓库
第三步:然后双击clean和package,成功后,解除父级pom.xml中对<build>的注释