Today I started working on adding a recaptcha component to the comment section of toThought. After reading the documentation, I decided to search the Maven Central repository for the recaptcha Java library. When I searched for the artifact via the built in .m2e integration, I noticed that Maven was only displaying local artifacts, not scanning the central repository as I intended. At this point, I tried my normal work around which is checking the Download repository index updates on startup setting.
Unfortunately, my trusted fix had no effect. Slightly concerned, I began to google the issue. I came upon and quickly implemented a suggested solution, which was to Update the Project.
After implementing this fix, I now had two problems since my projects dependencies were very misaligned. Luckily, the entire toThought project is stored within a Git repository, so I could quickly revert the project to its last working state.
With the project configuration files (.settings, .classpath) back in line, I noticed I was still having issues with missing dependencies within the project. I was able to resolve this issue by renaming my .m2 directory, which contains all of the jars for my local maven artifacts. A simple restart of Spring Source Tool Suite regenerated the directory, downloading all of the artifacts for the project from Maven Central.
At this point, I was back to square one and ready to tackle the initial problem. At this point, I attempted to execute the Rebuild Index and Update Index commands from the Maven Repository view within Spring Source Tool Suite. This can be accessed from the file menu > Show View > Other > Maven Repositories.
Once again no luck. Ever more frustrated I started exploring the Apache Maven installation in a desperate attempt to find something that looked relevant. Still nothing seemed to be relevant to my situation. Even more desperately, I began scanning my workspace, where I noticed the directory:
This directory contained a file indexDetails.properties and several cryptic directory names that looked rather relevant to my situation.
I decided to move the contents of this folder to a safe place on my desktop. I suspected this directory contained information about the last time my Maven Central indexes were updated. Next, I closed and reopened Spring Source Tool Suite and then my prayers answered as the indexes began to update. After a significant wait on the download, I was able to search the Maven Central repository via the IDE once again.
Given my difficulties I reflected upon what I learned and came up with the following key take-aways:
1. Maven is powerful. This is both a good thing and a bad thing. Arbitrarily executing commands via the tool can ruin your day.
2. Using Maven without (good) source control is like playing with a loaded gun. If I were not using Git my situation would have spiraled even further out of control.
3. The .m2e plugin is poorly documented. Two hours of research failed to reveal any solutions for my issue.
4. If you have to go rogue, be careful! Honestly, I had no idea what would happen when I moved the contents of the directory that ultimately solved my problem. I was acting on a gut feeling and a bit of desperation. The important part of this takeaway is that I moved, not deleted the directory.
Enough for now. Its time to get the recaptcha plugin installed, I'm so sick of deleting spam comments. But if anyone needs a handbag I have tons of links I can provide!