Maven is a really cool/powerful dependency management tool.
Prior to doing a side project on your own, you could hardly really understand what dependency management really means. I’ve moved my random/vanilla/plain Java code around several times due to machine change, etc. But each time, when I fire up my IDE (Eclipse or IntelliJ), I’m always faced up with a screen of red lines (cannot resolve symbols, etc.) That’s such a pain!
I have migrated my SpringTutorials project into a Maven managed Java project: My Spring 101
This might seem trivial from all perspectives. But to be frank, I would regard it as a milestone for myself. I’ve gone through several different stages with programming, this is a good example of it:
1. “Hello World” stage: Wow! I could make the code run and print out “Hello World” for me, amazing!
2. “Cannot resolve symbol” stage: After adding one API from a non-JRE jar library, my Java code doesn’t compile in my IDE, I’m blocked here, didn’t know/bother what to do to solve it. Thinking whether programmer is a right career choice for me.
3. “Add that jar” stage: After a long time, maybe 1.5 years, after many times people shouted at me, I kind of tried to download the jar and add them onto my classpath. This is a painful process, wondering whether software engineering is a fit for me every single day, just upon I started my career working at one of the FLAG companies. This is a path full of frustration and worry.
4. “Love it” stage: After ruling out other possible diverges, thinking/acknowledged that programming is the best career choice for me, I started to enjoy myself completely in the world of computer science, soon, everything clicks! Maven naturally comes into my mind when I tried to refactor this SpringTutorials project.