title: How to convert jar to rsyncable jar?
body: <p>I have a fat/uber JAR generated by <a href="https://github.com/johnrengelman/shadow" rel="nofollow noreferrer">Gradle Shadow</a> plugin. I often need to send the fat JAR over network and therefore, it is convenient for me to send only delta of the file instead of cca 40 MB of data. rsync is a great tool for this purpose. However, a small change in my source code leads to a large change in final fat JAR and consequently rsync is not helping as much as it could.</p>
  
  <p>Can I convert the fat JAR to rsync-friendly JAR?</p>
  
  <p>My ideas of a solution/workarounds: </p>
  
  <ul>
  <li>Put the heavy weight on rsync and tell it somehow that it works with a compressed file (I didn't find any way to do it). </li>
  <li>Convert non-rsyncable jar to rsyncable jar </li>
  <li>Tell Gradle Shadow to generate rsyncable jar (<a href="https://github.com/johnrengelman/shadow/issues/200" rel="nofollow noreferrer">not possible at the moment</a>)</li>
  </ul>
  
  <p>Possibly related questions:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/22354306/creating-rsyncable-maven-assembly">Creating &#39;--rsyncable&#39; maven assembly</a></li>
  <li><a href="https://superuser.com/questions/482758/rsync-friendly-gzip">https://superuser.com/questions/482758/rsync-friendly-gzip</a></li>
  </ul>