Introduction
In this article, the focus of the content is mainly on how to solve an error message. That error message exist upon running a specific command using maven. Maven is a build tool for Java-based application which is associated with the maven itself. The following is the complete execution of the maven itself :
C:\application>mvn spring-boot:run [ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective settings [FATAL] Non-parseable settings C:\apache-maven-3.6.3\bin\..\conf\settings.xml: end tag name must be the same as start tag from line 55 (position: TEXT seen ...C:/m2... @55:43) @ C:\apache-maven-3.6.3\bin\..\conf\settings.xml, line 55, column 43 C:\application>
Basically, according to the above error, there is an error in the file with the name of ‘settings.xml’. In the error message above, the error in general is a ‘Non-parseable settings’. In detail, that is where there is an emphasis that end tag name must be the same as start tag. There is also an additional information that it exist in line 55. Moreover, the location specifically exist in line 55 column 43.
Solution
Actually, according to the description in the introduction, it is very simple to solve the problem. In order to solve it, the following is the step to do it :
-
The first step, check the file which is causing the problem. In this context, it is the file with the name of ‘settings.xml’. It exist in this example at ‘C:\apache-maven-3.6.3\conf\settings.xml’.
-
Next, search line 55 in the file with the name of ‘settings.xml’. Actually, the following line is the line causing the problem :
<localRepository>C:/m2</localrepository>
-
According to the line exist above, it is obvious that it will trigger an error. It is because the start tag and the end tag has different label. Since it is an XML tag, it is case sensitive. The start tag has the label of labelRepository. But the end tag thas the label of labelrepository. So, it is very clear that it is different. So, in order to solve the problem, just change the label of the end tag into ‘labelRepostitory’. The following is the revision for correcting that line :
<localRepository>C:/m2</localRepository>
-
Save the file and try to run the command again. The following output will appear :
C:\application>mvn spring-boot:run [INFO] Scanning for projects... [INFO] [INFO] ----------------< com.github.adminfaces:admin-starter >----------------- [INFO] Building app-starter 0.1-SNAPSHOT [INFO] --------------------------------[ war ]--------------------------------- [INFO] [INFO] >>> spring-boot-maven-plugin:2.0.6.RELEASE:run (default-cli) > test-compile @ app-starter >>> [INFO] [INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (enforce-versions) @ app-starter --- [INFO] [INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ app-starter --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources [INFO] skip non existing resourceDirectory C:\application\src\main\docs [INFO] Copying 36 resources [INFO] [INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ app-starter --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ admin-starter --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory C:\application\src\test\resources [INFO] skip non existing resourceDirectory C:\application\src\test\java [INFO] [INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ app-starter --- [INFO] No sources to compile [INFO] [INFO] <<< spring-boot-maven-plugin:2.0.6.RELEASE:run (default-cli) < test-compile @ app-starter <<< [INFO] [INFO] [INFO] --- spring-boot-maven-plugin:2.0.6.RELEASE:run (default-cli) @ app-starter --- [INFO] Attaching agents: [] . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.6.RELEASE) WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (file:/C:/m2/org/springframework/spring-core/5.0.10.RELEASE/spring-core-5.0.10.RELEASE.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Please consider reporting this to the maintainers of org.springframework.cglib.core.ReflectUtils$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release
So, according to the output of the execution of the above command, it is actually a success.