Suppose I sent a large jar or war file to someone. Could I later just change one small section and send that to him? Suppose I just changed one class file. I recompiled t
Just open up your jar file with 7zip and overwrite the classes you have edited. Make sure to make a backup first though.
There is JARDiff, designed for updating Java WebStart applications.
If you have your old and new jar file, you can create an xdelta of both and send only the delta file to your client, which should be much smaller than the whole jar file, if you changed only one class of many. This should work for signed jars, too, but requires that both sender and receiver have the xdelta program (or be able to install it).
And of course, you have to create the new jar first (but this can be done by the methods already mentioned by the other answers).
You can copy the modified .class file this way.
jar uf test.jar com\test\Test.class
If there is a logical way for you to separate out your components in individual jar files then I would create a jar file per component type. That way you will not have re-distribute everything back to the client. For example - take a look at how Spring 3 has the components separated out.
The person receiving the class file could simply add that file to the jar as long as they know which directory to put it in. Be weary of signed jars, as noted in the comments.
jar uf foo.jar foo.class
http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/jar.html
Take a look at the usage of jar
command. The option u lets you update an existing archive.