imixs / imixs-micro

A lightweight workflow service running on plain Java VMs
GNU General Public License v3.0
1 stars 1 forks source link

Java Learning Path #9

Open gmillinger opened 2 months ago

gmillinger commented 2 months ago

I have many years of C++ experience but never tackled Java and the enterprise thinking it does so well. Recently I did an online Java beginners course and plowed through it with not much problem. It is fundamentally very similar to C++ to me. I am just beginning a Maven online course so I can understand that too. I now realize how much I have missed by not learning Java sooner.

Is there a learning path that I can follow to make me a better contributor to your projects? Looking for recommendations on websites, courses, books, references, ... anything that can incrementally build competency.

rsoika commented 2 months ago

As you have a lot of experience with C++, Java is easy for you as C++ was the base for Java years ago.

Maybe the only thing to understand is the maven thing. Maven is the most used build tool for java. It resolves dependencies for libraries automatically and it provides you with build and test commands:

$ mvn clean install 
# will test and build the project, the result is a new .jar file (your lib) 

$ mvn test
# will just run the tests without building

So, for example if you clone this project locally (by using git) you will see the file pom.xml which is the definition file for maven.

If you have Java and Maven on your dev machine you can run the commands above. Of course you can use also you IDE to run tests. I prefer Microsoft Visal Studio Code because I can install the Open-BPMN modeller as a extension beside my Java projects.