Monday, November 9, 2020

Maven Eclipse plugin M2Eclipse issues after updating passwords

Most Java programmers use Maven in Eclipse via the M2EClipse plug-in, which gives one capability to build, run, and test Java application using Maven. I also use the M2Eclipse plugin for integrating Maven with Eclipse, but more often there are issues dealing with them like Maven not able to find certain archetypes, or maven not able to download Jar files from remote maven repository. Since I need to change the password often for security reasons like every 3 months, I do see a lot of maven issues in Eclipse related to building projects. Most of the time these are compilation errors that are caused because maven is not able to connect to remote maven central repository, even though you have updated password in settings.xml in the maven installation folder like C:\apache-maven-2.2.1\conf\settings.xml


This file contains proxy settings to connect to the internet, which also includes username and password, as shown below :

  <proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>rockstardev</username>
          <password>JustAwesomeP@assword</password>
      <host>proxyserver.com</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
  
</proxies>

Now, it's important to update your password here, whenever you change your desktop or laptop password, but it's not enough. Even after updating the password here, I found that Maven in Eclipse is not able to connect to the maven central repository and showing lots of compilation error, because dependency JARs are not available. It took me some time to find the real cause, which is a really weird one from Eclipse.

Btw, if you are just starting with Maven, I suggest you first go through a comprehensive Maven course like Apache Maven: Beginner to Guru to learn some fundamentals. It will not only help you to build and deploy your Java and Spring Boot projects using Maven but also learn Maven itself in depth.



Real Cause

If you go to Windows-->Preferences-->Maven in Eclipse IDE, you can see some maven related option, one of the is User settings, which points to your C:\apache-maven-2.2.1\conf\settings.xml, and this is from where M2Eclipse, maven plugin for Eclipse, reads your proxy settings required to connect to the internet. 

Apparently, M2Eclipse doesn't pick an updated password, until you click update settings here. Once you do update settings, everything seems to work perfectly, maven will connect to the internet, download dependency JAR, and build the project and you can see your project clean and free from any compilation error.

Unfortunately, this is not known to many M2EClipse users, and they spend hours and hours to debug the problem of using Maven with Eclipse. So just remember, next time you update your password, apart from updating settings.xml in MAVEN_HOME, make sure you click update settings in Eclipse IDE as well.

Maven Eclipse password issue solutoin


That's all about how to fix the password issue for Maven in Eclipse after changing the password in Maven's settings.xml. So, next time when you make a password change on the settings.xml file don't forget to update the settings.xml from Eclipse as well. 


Further Learning
Maven Crash Course
Maven Essentials: The Book
Maven Fundamentals by Bryan Hansen

Other Maven and Java articles you may like
  • 10 Essential Tools Every Java Developer should Learn (tools)
  • How to install Maven in Windows 10? (steps)
  • How to fix the Maven Eclipse Dependency search not working issue? (solution)
  • How to increase the heap size of Maven? (steps)
  • Top 10 Maven Plugin Every Java developer should know (list)
  • How to create or modify build.xml in ANT? (tutorial)
  • 3 tips to use Maven in Eclipse for Java development (tips)
  • What is the difference between Maven, ANT, and Jenkins? (answer)
  • How to build a Java project using ANT? (article)
  • Top 5 Apache Maven Free Books for Java developers (books)
  • Top 5 Courses to Learn Apache Maven for Developers (courses)
  • 10 Things Every Java developers should learn (skills)

Thanks for reading this article so far, if you find this Maven and Eclipse tutorial useful then please share it with your friends and colleagues. If you have any questions or suggestions then please drop a comment and I'll try to find an answer for you.

P. S. - If you are looking for some free courses to learn Maven, Jenkins, and other essential tools for Java developers then I also suggest you check out this list of 10 free Courses to learn Maven, Jenkins, and Docker for Java Developers on Medium.

No comments :

Post a Comment