While learning Liquibase to use it in managing the database’s evolution at work, I’ve found an existing bug (it is CORE-3040 – onlyUpdate=”true” flag generates empty statements for MySQL DB) and I fixed it: now I’m waiting for the Pull Request to be accepted!



During the life of a software project, there comes the time to create a package with a stable version of that project: this may involve several actions, such as clean the code, commit and/or tag, change the software version, upload the generated package to a repository.
Maven has a plugin to manage the whole procedure: maven-release-plugin.
Indeed this plugin is quite discussed and alternatives exist, but for my basic need I prefer this”native” choice.
In this post, I will focus on the environment and project setups needed by this plugin.


This article describe a situation that could lead to unexpected Spring’s behaviour, in terms of instantiated beans, caused by multiple dependent context files.
I do not like this approach, but I have to cope with it and mostly fix the problems (analyzing the Spring’s initialization logs). (altro…)

I’ve recently discovered an interesting java project, Lombok, that gives your IDE the ability to automatically create trivial methods (setters and getters, hashCode, equals, toString, and basic constructors) and other stuff.
All you need to do is watch the 3-minutes video at Project Lombok web site, download the little jar, click 2 buttons to install it, and then start annotating with Lombok.

These are my thoughts after having read the first two articles about Design Patterns and Java 8 on Voxxed, because I need to reflect about the shadows of the new approach. (altro…)

This article describes how I managed command line parameters in a standalone Java application powered by Spring 4.
Tested with Spring 4.x, JOptSimple 4.8. (altro…)