As for me - I'd disagree that I'm forced to use java, but I am definitely under pressure (financial and otherwise) to do so. For instance, I use an API for a mathematical engine (ILOG) that is available in java, C#, or C - and everyone around me at work uses Java. Technically, I could write an extension for ruby in C (maybe there's already one out there?) But I have a feeling this wouldn't fly with my company. I could also quit and find a new job - there are plenty of good projects in Ruby out there. So to some extent I am "forced" to use Java, but if I'm totally honest with myself, I have to admit that there's more than a small element of personal compromise (as opposed to pure coersion) in the language I use at work.
I read an interview with David Heinemeier-Hansson where the interviewer repeatedly asked him about "why not use X for reason Y" (X= Java, .NET, etc, Y=performance, availability of programmers, scalability, etc)... and his response was something like "previously I was direct, now let me be blunt: I don't care about you."
That's what I'm getting at with the "well, oprah" analogy. At some point, you just have to decide what you're going to with. Keeping an open mind is extremely important, but it's equally important to remember that you don't need to convince anyone other than yourself. If you find yourself justifying things too often to other people, maybe you need to restructure your life a bit (not meant as a criticism: I know I do).
(I tried the upside down exclamation point and the accent mark, but apparently that gives YC News indigestion. You'll have to settle for gender agreement.)
When people decide to end a relationship, they often start to think of all the ways they have been wronged to justify it. I always think, eh, maybe "that man" was fine, you just got tired of him. You don't need to justify a break-up to me - feel free to go.
Personally, I don't feel as aggrieved by Java as some people do. It was certainly better than working in C++. It certainly made web programming easier. Tomcat was simple to install and configure. Ant was a good build too (but I did start to wonder why all the XML configuration for something that could probably be standardized). Struts was heavy and cumbersome. Hibernate got on my nerves - why do I have to deal with all this XML. Spring was an improvement, but I broke up with Java when I started reading about Inversion of Control and all the design patterns. Why am I doing this when the actual code I care about is going to be, oh, maybe a thousand lines, tops?
"Well Oprah, Java is no good, let me tell you about what he did, in the beginning he was so nice, always bringing me flowers, but now he just sits on the sofa an plays video games, why even last week, when I got home, working hard to pay the bills, he's just sitting there..."
Eh, my take on it is that technologies and programming frameworks move on (often by finding something that was done better in the past and modernizing it, or even just dressing it up). Many if not most of the "breakthroughs" in rails were already present in other languages.
There's really no need to hate Java or decide it's a foul language that has wronged you. Maybe you're just ready to move on. Nothing wrong with that.
(of course, if you're a Lisper who suspected Java was stupid from the very beginning, I suppose you are entitled to your victory fist pump when everyone starts to wake up and get it).
I'm sick of programming in Java now. I'm not sure what's next, but Ruby and Rails certainly opened my eyes to how much more pleasant and productive other frameworks and languages can be. I just don't feel any real need to hate Java, because it did make my life a little better (almost) a decade ago.