What is the difference between Maven and Jenkins or Hudson?



Difference between Maven and Jenkins or Hudson

1). Main difference between Maven and Jenkins or Hudson is that Maven is a build tool which knows how to build project and Jenkins or Hudson provides a trigger to build. You can control when to trigger build automatically using Jenkins or Hudson or any CI tool.

2). Jenkins can use Maven as a build tool. Also, Jenkins or Hudson can do a lot more than just building application, they can run all unit tests, deploy deliverable into configured servers etc.

3). Essentially difference is that Maven is build tool while Jenkins or Hudson is a Continuous Integration tool(CI).


For example, you can ask Jenkins to trigger a build or run through all JUnit tests whenever a new code is committed and then, if the unit tests are passed, deploy on a target machine. or schedule heavy tasks at midnight e.g unit tests.This is the basic idea of auto-deployment or AKA continuous integration. CI for short if you like.


In Short:

Maven   - > How to buildJenkins - > When to build