Springboot Maven Plugin by default, should automatically rewrite Manifest in packaged jar as stated in http://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html
However, I found case where when I called maven "clean install", it didn't repackage the jar and did not rewrite the Manifest either. Thus, the jar being built was not executable."
The solution is by manually called "spring-boot:repackage" right after "clean install". So instead of maven "clean install", I call maven "clean install spring-boot:repackage".
You can read more about spring-boot:repackage in http://docs.spring.io/spring-boot/docs/current/maven-plugin/repackage-mojo.html.
I haven't found the exact reason why a simple maven "clean install" didn't work but at least now I got the work around.