I don't think there is any way to prevent someone from un-jaring your jar file and modifying the code.
Signing the jar file certainly won't help with this.
The first thing that came to my mind would be to sign the jar file and then have the client application re-hash the currently used jar and send that signature to the server to verify the signature of the jar used to produce the output.
BUT my immediate next thought was: the malicious user would simply modify your code to have it create a hash based on your original jar....
I can't see how signing is going to help at all.
You could try taking a look at what Sun has to say on Java
Security technologies.
I would recommend looking at the security design for the system as a whole.
You said that this is a server/client application....
Why not move all "sensitive" methods to the server side and leave the client side stripped of anything that could potentially leave a security hole in it.
For example, if your application requires that the user authenticates against something move this functionality to the server. Don't leave this up to the client since the client could potentially be modified to get around this authentication.
And Always do validation on the server....that's just one of those rules that has to be implemented in order to develop a secure application.
-Frinny