Lets you build an executable jar with Maven2, containing all dependencies.
You can do that with the assembly plugin too, but that will just unpack all dependencies together with your classes in one directory and then repack that directory into a new jar. Doing it that way means files will overwrite each other if they have the same names in the same path, which is quite common with resources such as log4.properties and even other more important files.
With onejar-maven-plugin, you'll instead get a nice clean super jar with the dependency jars inside.
On a UNIX system, if you want a file to have the executable permission set: $ svn propset svn:executable ON somescript property 'svn:executable' set on 'somescript'
J. Zhao, S. Liu, X. Wang, L. Chen, and C. Wei. 2008 9th International Conference on Computer-Aided Industrial Design and Conceptual Design, page 399--404. Beijing, China, (November 2008)
M. Blumendorf, G. Lehmann, S. Feuerstack, and S. Albayrak. Interactive Systems. Design, Specification, and Verification, volume 5136 of Lecture Notes in Computer Science, chapter 22, Springer-Verlag, Berlin/Heidelberg, (2008)