Create Sym Links in a Maven Assembly – Not Quite


It’s been a while but I’m back to my Maven tinkering. (By the way, I’m back to my usual posting too, did you catch that?) Tonight I discovered how to do the impossible. You see, I had this requirement from way back that I could never provide a clean solution for. I needed to build a custom tarball for the installation of a server application and the tarball needed to include symbolic links. I wanted to attack with Maven but the problem became how do you get a sym link into a Maven created tarball? After a little Googling I discovered the maven-junction-plugin. This plugin is brought to you by the same wonderful people that brought you the J2ME plugin for Maven. It allows Maven to create sym links on *Nix based systems and junctions on Windows systems. (These are the Windows sym link equivalent.) I haven’t yet gone as far to see if a Windows Junction would translate into a Linux sym link in a tar built from the assembly but I have managed to create a normal looking sym link on my Mac which should no doubt tar without issue. Wait, let me actually try this. Dang! No luck! Well I can at least create the symlink which is a good starting step. The assembly plugin does not seem to honor sym link copying into the tar… at least not with default options. There may be a hidden option that I can take advantage of. A little more research then maybe. For now I can work around using the assembly plugin to create the structure then running tar as a system command. Still not as clean as I’d hoped but getting there. I think I remember a sym link option in the Ant tar task. Stay tuned for the rest of the story. I’ll keep the good stuff coming.

2 thoughts on “Create Sym Links in a Maven Assembly – Not Quite

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s