Why you should learn Maven



It's hard to understand what Maven can do for you until you experience it, but bear with me and I'll try to explain what its done for me.

A couple of years ago I was lucky enough to get on a Google Web Toolkit learning course. It was taught by great and inspiring young hacker. He seemed to know everything. We spend ages downloading library jar files for junit, easymock, hibernate, slf4j, and all the libraries that those libaries are dependent on. It took up a lot of time, and I wondered how I would ever find/navigate/manage all those jar files and their dependencies. I could see that it would be pretty easy to get into the java equivalent of .dll hell. However under our instructors expert advice we patched it all together and built our GWT project. I learn a heck of a lot. I learnt some Java, the MVP pattern, saw glimpses into Test Driven Development (TDD) using junit, and easymock, Object Relational Mapping with Hibernate and Dependency Injection. In truth the course blew my mind and I've not been the same since.

More recently I did a course on Restful Web Services in Java (using JBoss' Resteasy). It was taken by the same instructor, but the course examples we're the ones provided with the Resteasy download and documentation. They were Maven projects.

The first couple of weeks we struggled to get our environments working, understand what Maven was doing for us, and work around the issues we all discovered (how to get maven to work from behind a proxy etc), but pretty soon it was up and running, and we all started appreciating Maven's power.
No more download hell, no more searching the hibernate websites for its versions depencies. Simply use http://mvnrepository.com/ to find the artefact you're interested in and add the provided XML into your POM file. Maven manages the download, stores versions in a repository on your local machine, and manages dependencies.

I really experienced the power of maven when got interested in SINA's Cloud Data Management Interface (CDMI) technology. SINA had released a reference architecture implementation, and I thought I'd download it and have a look at the code. I didn't think I'd have a chance of getting it building and running in any sort of reasonable time (I've grown up with C++ remember). However, it was a maven project. I had eclipse installed, and a version of m2eclipse (a plugin that lets eclipse integrate with maven), so I imported the project into eclipse and did a runAs->mvn Install and I couldn't believe it. I sat back and watched as Maven downloaded all the required dependencies, built the project, ran the unit tests & released the binary to my local repository. I then deployed it and had a working CDMI implementation within half an hour of download.

Now that's magic!

That's why I'm spending my evening's learning Maven. I want to be able to create complex maven projects, with parents & children, modules and profiles, with tests run at different points in the project lifecycle (some after compilation - the TDD class level tests) and some run after deployment (unit level tests).
If I can learn to do these things then I can make complex projects that with a few maven commands others will be able to build, run tests, deploy and run unit tests. I just wish I could see their faces when they suddenly understand how easy its going to be for them!

Comments

  1. And, due to its compact size, you can to|you presumably can} take it with you anyplace. Think about what you already like in mattress, after which search for a toy that can provide the sort of targeted stimulation you crave. "For instance, if you really like utilizing your fingers in a fast, pressure-filled way on and round your clitoris, strive something that vibrates on and round your clitoris," advises Wright. sex toy "If you want the sensation of flickering in your clitoris, find a toy that mimics this both with air, a tickler, or suction. If you want dual-stimulation find a toy with dual stimulation." We chose these merchandise from respected and inclusive sellers who support diversity and the LGBTQ+ group with their product choices and sexual wellness resources.

    ReplyDelete
  2. “Ms.” could also be} handy, but each woman is a person human being with different views on this subject, and since “honorifics” are supposed to “honor” a person, you need to} respect their needs. Young women within the northern Indian state of Rajasthan are being bought as “repayment” for loans their parents can not afford, the national body that protects human rights has stated. If you actually need to know method to|tips on how to} make a lady AV쏘걸 feel special, body language is every thing.

    ReplyDelete
  3. Still, there are indicators that Kenyan authorities have had some success in reining in the industry’s excesses. New taxes on stakes and winnings seem to have incentivized some bettors to cut back. A 메리트카지노 regulation handed last December provides the Central Bank new powers to regulate digital lenders. And thanks to restrictions put in place by the country’s Betting Control and Licensing Board , playing corporations can no longer advertise on radio and TV throughout daytime hours. In July 2019, the board refused to renew the licenses of 27 betting corporations, including SportPesa, in a row over the payment of back taxes. Today, the BCLB lists ninety nine licensed bookmakers, greater than earlier than the crackdown.

    ReplyDelete

Post a Comment

Popular posts from this blog

Android logging put to bed.

Using an Ubuntu VM to connect to a VPN using juniper network connect.

The Simple Way to Create an AM Authentication Node Project