I've had a CJ7 top on my '00 TJ for a few years now. It took a little trimming on the front edge and I had to drill new holes for the bolts to go through, but it seals up just fine and lines up pretty well with the body. It would be a whole lot easier to put one on from the right year though.
Not a very good picture, but you can see where I was cutting to make it fit. Overall I took about 1 1/4" off the front lip. It took a couple more trims to make it fit after this picture.
Jurassic Park '90 XJ, '00 TJ