Sometime I develop program using java, compile and pack them into .jar file. Then I add them into jar path and restart it to make active. I develop java flow serivce to invoke it.
There has a fatal weekness that it need to restart IS. I ask you for help that give me a method to avoid to restart IS, however .jar file can work.
You can put in the lib directory of the package, but must reload the package.
The best way to avoid restarting IS to load a .jar file is to not create .jar files for IS! Are you sure you needed to create a .jar file to do the work you needed? Would an IS package of FLOW services accomplished the job as well?
If you are sure that the classes you put in your *.jar file, will be used by other developpers in their Package, then it makes some sense to put your package in the lib/jars.
If you are not sure about others using these classes, keep that jar within your pacakge so that you could use these in your java service.
Instead of putting your code in *.jar, keep it as Java service, in that case other developer can call your java service from their java or flow service in their package.
As Rob pointed, java service should be written only when same cannot be done via the FLOW services or the performance of the flow services is not acceptable.