I m creating a java command line project, with no GUI. The project uses any number of open source projects : Spring, Logback, Commons CLI etc. When I started to think about packaging, I imagined it would come out as a zip file, that could be exploded to the jar, with a lib sub directory, and dependent jars in the lib.
adapter.jar
/lib/dependencyA.jar
/lib/dependencyB.jar
etc.
I ve been playing with Maven Assembly, but it s still not coming out like the above, and I haven t found any examples that do generate the structure above. Is it possible to do so ? In addition, having a multi-module structure adds another layer of complexity that I haven t been able to resolve, as the assembly module can t find the core module as a dependency. This is my first Maven project, so am still learning how Maven works. I ve been through the Sonatype book, but missed something as even using the Best Practices section couldn t get the missing dependency resolved. The examples I ve seen usually involve merging into an uber executable jar, some of which use the Shade project, some don t. My question is, is doing an uber jar including 3rd party libs like Spring etc a good idea ? Or should I persevere with my original zip / lib subdirectory plan ?