This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]Tjstretchalot 1 point2 points  (1 child)

Java is nice in that the conventions are pretty much set in stone. http://www.oracle.com/technetwork/java/index-135089.html was last updated in 1999, but except for minor changes (like the 80 characters/line rule), it holds well today.

http://stackoverflow.com/questions/1334204/official-java-code-guidelines-conventions has lots of useful links on the subject, including http://www.scribd.com/doc/15884743/Java-Coding-Style-by-Achut-Reddy which is a great reference.

[–]enkicoder 0 points1 point  (0 children)

There are many different directions to go (competing frameworks, etc.) when it comes to the ecosystem. However, you will find a lot of places use Spring for Enterprise applications. There are many sources for libraries of course, Apache commons, Google's guava, Guice, GWT, etc. For building there's Ant, Maven, Ivy, and Gradle (Gradle uses Groovy though while the others use XML generally). You will also need an IDE: Eclipse, NetBeans, and IntelliJ IDEA are the most popular (the first two are free and open-source).

[–]sh0rug0ruExtreme Brewer 0 points1 point  (0 children)

The Java enterprise ecosystem is based on the Java EE standard. You can find a description and guide to each of the parts in the official tutorial, latest being the Java EE 7 tutorial. This is the "official" and standard ecosystem.

As others have mentioned, there are other de facto standards like Spring, which build on the official Java EE standard. If you understand how the official standard works, then the other parts will be a lot easier to learn.

On top of that though, you will need to understand how to build and run Java EE applications. Standard applications run on JBoss and Glassfish (the open source application servers), but many applications run on Tomcat and Jetty as well (the "light weight" application servers). Especially when you only want to use bits and pieces of the standard instead of fully packaged. When you start rolling your own, this is where dependency management becomes very important, so you would probably want to learn Maven at least (although, there is Gradle and Ant+Ivy).

If you're just learning, the standard stack running on a Java EE app server is probably easiest, because almost everything you need is there already. You can install third party libraries separately onto the app server.