What is the difference between a Maven and a free-style software project in Jenkins / Hudson?
I noticed that there is a difference when a failing JUnit tests resulted in a successful build of the Maven project, while the free-style build failed.
A maven project is a project that will analyze the pom.xml file in greater detail and produce a project that's geared towards the targets that are invoked. The maven project is smart enough to incorporate build targets like the javadoc or test targets and automatically setup the reports for those targets. There is little configuration required for it. See: https://wiki.jenkins.io/display/JENKINS/Building+a+maven2+project for more information on Maven project.
A Free-Style project is a project that can incorporate almost any type of build. While a maven project you can only build maven projects, the Free-Style project is the more "generic" form of a project. You can execute shell/dos scripts, invoke ant, and a lot more. Majority of the plugins are written to use the free-style project. The maven module is limited in that it can't invoke a shell script, or anything else just the maven targets. See: https://wiki.jenkins.io/display/JENKINS/Building+a+software+project for more information on a Free-Style project.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With