Well, I'd say it depends on how new you are to Java and programming, in general. If you're just new to Java and you're a veteran programmer, you can probably get away with a good book. However, if you're new to programming as a whole, a book would be helpful, but taking a class or two might really help get you a "jump-start."
The one thing to remember and many people around here preach is that you must practice if you want to learn Java. You're not going to become a good programmer by listening to lectures or reading books. That's all great but, unless you take some serious time to write some applications in Java, you'll never get a chance to apply what you've learned.
Once you get started, be sure to frequent this forum often. Ask and, just as importantly, answer questions. If you can find the solution to someone else's question, you're going to be more likely to be able to find the answers to your own in the future.
Also, check out the
Certification Book Reviews to get a good idea of what books everyone likes.
I hope that helps get you started.
Corey