"Many of the provisions would have the effect of treating every patent holder as a patent troll."
Software should not have been patented, and software patents are indeed not allowed in Europe (although they are lobbying hard to bring the broken US system into Europe).
I am yet to see a software patent which worth the effort of reading and decoding its intentionally unclear text. In the best case they are basically direct applications of unpatentable mathematical knowledge produced by real scientists, and not the inventors mentioned in the patent.
So yes, anybody who uses software patents for litigation or for any other purpose except defending against a troll, is indeed a patent troll.
Actually we also upgraded to Java 7 I just forgot to mention that in my original post.
I am not sure what do you mean on deprecated calls. In new Java releases they deprecate functions or classes but they never remove them. Therefore deprecated functions do not cause backward compatibility issues. As others already mentioned likely you mean calls into JRE internal sun.* classes. Those are never deprecated, because they were never public! No code should call them, except very special applications in very special circumanstances, but then they should always provide a default fallback algorithm, and advertise this issue on the very first page of this documentation. Actually the only software I know which has a good reason to call internal sun.* code is the big data database, Cassandra, which is assumed to manage memory in the hundreds of gigabytes range.
However, I understand you, because with such a large amount of code you likely run into each and every bug in the JRE class libraries at some point in your code. But your situation is definitely not the usual, and based on your disappointed tone, I believe your organisation is doing something strange. You say that you have 74 gigabytes of code, but the entire Java EE codebase is less than 80 megabytes of binary code. It is quite strange that you blame that 0.1% code for all your problems. You should either pay for Oracle support, and receive bug fixes early, or pay developers who can quickly fix JRE bugs themselves, and that will be still a tiny fraction of your IT budget. Java related costs must be compared to the similar cost of some alternative technology, so you could tell whether Java or that alternative is the more cost effective in your situation. I do not know anything else which seems to be better for us.