There's a java implementation in Robert Sedgewick's book on algorithms. It's very basic, i.e., no compression and a very simple interface, but I found it instructive to understand how tries work.
I also recently found a library that includes a memory efficient concurrent implementation of tries which looks very promising. It even includes a LCS solver using tries.
There is also the Lucene implementation that's used in production applications.