I have faced this problem multiple times, too. Writing custom init code didn't seem that easy because much of the stuff in SevenZip.java is private. So I hope just putting try { SevenZip.initSevenZipFromPlatformJAR(); } catch (RuntimeException rte) { LOG.warn("Caught RuntimeException when trying to initialize SevenZip."); Thread.sleep(10 * 1000); SevenZip.initSevenZipFromPlatformJAR(); } helps enough to reduce amount of crashes.
I would like to see the silent option happen too. I am prepared to contribute this change myself, but there doesn't seem to be an easy way to contribute to 7-Zip.