他にも解決策はあるのかもしれないが、
複数バージョンのJREをインストールして、MANIFESTあたりでJREのバージョン指定して
起動できればこの問題を回避できることは間違いない。
ライブラリのJARについてもバージョン指定でロードできれば、jarファイルの名前を
バージョンごとに-1.0とか-2.1とかしなくて良い。

で、.NETはそれをサイドバイサイド インストールで解決したわけだが。
さっさとJavaも対応せいよ、ってことか。