Sunday, July 23, 2017

Oracle Code - Jenkins failed to build maven project

The first time I did try to build a Oracle Java project with Maven it resulted in an error. Which is not surprising, every time you try to do something the first time the changes that it will not work are relative high. In my case I intended to build a REST API build with Spring and compile it with Maven in Jenkins. The steps Jenkins should undertake where, get the code from my local gitlab repository and build the code as I would do in a normal situation. The code I used is exactly the same code as I have shared on github for your reference.

The main error I received when starting the actual build with Maven was the one shown below:

[ERROR] No goals have been specified for this build. You must specify a valid 
lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: 
validate, initialize, generate-sources, process-sources, generate-resources, 
process-resources, compile, process-classes, generate-test-sources, 
process-test-sources, generate-test-resources, process-test-resources, test-compile, 
process-test-classes, test, prepare-package, package, pre-integration-test, 
integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, 
post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]

If we look at my githib page you can already see a hint for the solution. In the documentation I stated the following command for creating the actual .jar file (the result I wanted from Jenkins)

mvn clean package

If we look at how the project was defined in Jenkins, I left the "goals" section empty. Added package to the goals section resolved the issue and the next time I started the job I was presented with a successfull completed job and a fully compiled .jar file capable of being executed and server me the needed REST API.

As you can see from the error message, a lot of other goals can also be specified.

No comments: