I would like to learn Java EE 6. (second or third attempt)
For months, I have been messing around--looking at various online tutorials and so forth, anything I could get my hands on.
I've come to several conclusions as to why I can't seem to learn this (I have been able to learn about 3 other object-oriented languages)
1. There are so many moving parts. I hear this is better than before, but since this is a newbie forum--
2. Each part of the Spec has too many choices, resulting in not only paralysis by analysis. For every piece of the EE spec, there seem to be about 5 legitimate frameworks that I could use.
3. Each part of the Spec tends to depend on other parts--ie JSF using EJBs and in turn using JPA.
3. Tutorials are very hard to follow for a newbie b/c each tutorial uses its own combination of the multiple frameworks in place. For example, I wanted to learn some EJB, but in the course of the tutorial things are going fine until a tutorial will
say, we'll use Spring for an MVC framework or something like that. Or things will look good only to find out that they are using glassfish and not jboss, or vice versa. Then I realize that we need to use Apache CXF for my a job at work,
only to find that the tutorial uses Jersey. So I'm finding it pretty tough to find tutorials that will use the frameworks for my situation. Contrast this with .NET or other closed approaches, and the IDE is what you get. I sometimes debate with myself,
do I need to take a detour and learn JSF when I know we'll be using HTML and something like Jquery? B/c many tutorials keep referencing JSF and for me to follow along I feel like I need to learn it.
4. Maven--the beast. Honestly most of the other languages you just hit build and run, and I know all the hard stuff is happening under the covers, but Java appears to really want to let you know what every little thing is doing.
I do not know why, but many projects simply do not build...either a repo is down, or that version of a plugin is no longer compatible, or some what I'd term odd Eclipse errors, and a mvn clean will work although I am not sure why.
I've realized that if you don't take a detour and learn maven, tutorials aren't going to run.
5. Eclipse--just all kinds of JAVAHL errors and projects not refreshing or becoming out of sync....just not sure if my workflow is all wrong, but it gives me the impression that Eclipse is more finicky than other IDEs that I've used in the past.
6. I have found myself wondering, quite often, why the Java EE approach is better in that I know in other languages I would be able to implement the same project much faster. Do these other languages or more integrated ones such as Ruby
or .NET hide so much of the underlying complexity from you or are these more amateur approaches compared to the Java EE way?
All that whining aside, I do like the open source aspect, and there are just too many java-only projects that in my mind are 'must haves'. The community behind these must have projects are just too large and they've been developing them for 10 years,
so I'm certainly not going to find equivalents in other languages.
So moving forward, I'm wondering if:
1. There is a hidden gem of a book that uses eclipse since everywhere I've been it's the standard over netbeans it seems by a 10:1 factor (all figs approximate). I am not a fan of the command line roll your own 'javac 'helloworld.java' tutorials
since I'm skewed towards real world usage, and eclipse is the IDE that I'm going to be using.
2. Is there a book that sticks to jboss and their stack? I have tried for about 12 hours to build alot of the mastertheboss tutorials (maybe they are actually not affiliated), but unfortunately the tutorials already assume that you know what a @producer is and so forth, in their most basic one.
It seems like Jboss is the champion these days.
3. Should I just conquer and divide--that is, do nothing but learn JSF, forget about everything else...and then keep going to EJB....then JPA....then JAX-RS....then Soap Services....MDBs, ESBs, etc.
4. Any other suggestions as to how you guys became literate in Java EE? I assume that there must be a big payoff at the end for the investment (non monetary).
My problem is that I can not understand the Oracle official docs. Official docs tend to be too detailed or obscure for me.
In the past what has worked for me are things like a Deitel book or a Cay Horstman book, something that basically does not assume any prior knowledge and explains lines of code, and shows you the entire code rather than snippets which
at least for me make it difficult to follow along. Should I keep hunting for a book, or is it more of a try ten different tutorials, and each time I may pick up something new from each, and by the tenth one together I may have a complete enough
picture to start learning on my own?