Hi guys, was hoping to get some advice on this. I have the OCA cert passed since January and hoping to have the OCP done by May/June and am currently trying to get an entry level java developer job. I am trying lots of avenues and came across an interesting blog (http://java-success.blogspot.ie) which states:
Tip #1: Java is very accessible and all the following are available for free. The steps you take may slightly vary depending on your familiarity with Java and its tools.
1. A computer -- desk top or lap top.
2. Download latest version of Java (JDK and JRE).
3. Download latest version of eclipse IDE.
4. Dowload Tomcat or JBoss to deploy your applications.
5. Download and install MySQL database. All non trivial applications need information to be persisted to a database.
6. Set up Maven as a build and dependency management tool so that you can download sought after frameworks like Spring and Hibernate.
My question as a total beginner in 4-6 above, is 'What kind of simple projects could I make that would employ these?'.
I think the ebst way to answer this is describing each of this points (but I can do in a different way if you wish). The #4, it is the middleware, like the Tomcat and JBoss will help you to build the application. In summary, with Tomcat you can make web applications and with JBoss you can make web applications and other types of applications (JMS, JPA, EJB and many other things from Java EE stack).The #5 is just a persistent database which is pretty common for web application, so you will probably use JPA to handle the database , for example. Maven is a very useful tool to build and management any java project (it can also run for other languages but it isn't the scope of this post), so you can just copy the source from somewhere (like github) and if it uses maven, you will build it easily and following a very wide know practices (for example, any enterprise that you go for work with java will probably use maven and one you leaned, that experience will help you anywhere, due it have very well defined standars)
You can create a Maven web application project, that you deploy in Tomcat. Your application could have users, and when you register or login a user, you can store and retrieve data from a MySQL database.
Sorry, I forgot to answer that. I would add another item into that list which would be a version control system (the formal name is Software Configuration Management , SCM). I would say that GIT is the most well know tool nowadays and there isn't any sight for change (the second place for java would be SVN, but only for very old legacy system in enterprise that didn't want to change). So I would say to just understand the basic commands (take a look http://gitimmersion.com/lab_01.html or http://try.github.io/ or http://git-scm.com/book).Well, yu just need the basic stuff like cloning, pulling, pushing and committing things.
About which projects you could learn real Java projects, I would strongly recommend https://github.com/jboss-developer/jboss-eap-quickstarts as it have almost all the features from Java EE (which is a standards that every Application Server must follow and almost every interprise use them because it isn't vendor specific/lockin ). There are many many projects, from very very simple to more complex. There are many README in each project (including the root folder) giving the instruction to you how to deploy and run each project.
There are other resources that you could also can go (for example maven archetypes, other githubs repositories (jboss have many others for other things but you can find many other searching for a very specific technology that you want to learn about). There is also JBoss Forge which aims to make easier to make Java EE projects ( http://forge.jboss.org/ ).