Minijar release
Already quite a while ago I blogged about a plugin to shrink your java artifacts in size …to package only what is really required. Especially useful for people complaining that e.g. common-lang got too big. It should help to reduce the copy-and-paste attitude “I don’t need all that” and extract what you need at virtually no effort. Minijar basically builds up transitive hull seeded by the classes of your project artifact and then strips off classes that are not referenced. While doing that you can even combine and in-line all the dependencies into a single jar.
The actual dependency analysis computation for this is factored out into a separate project called “dependency” and so can be used by other projects as well. It uses the byte code toolkit ASM to extract the required information.
Until recently I held off updating minijar because I wanted it to go directly into maven. But now I’ve just turned the patch into changes for the minijar plugin and did a first alpha release over at mojo on codehaus.
<groupId>org.codehaus.mojo</groupId> <artifactId>minijar-maven-plugin</artifactId> <version>1.0-alpha-1</version>
Just give it a try and let me know what you think.