Running on Java 19-ea+23-1706 (Preview)
Home of The JavaSpecialists' Newsletter

1.1 AnagramGame Project Structure

Juppies 2 by Dr Heinz M. Kabutz

Our project consists of different packages, which are analogous to directories on our disk. Imagine if all our files were in a single directory? It would become overwhelming and hard to find things. It would look a bit like my desk! Instead, we order our components into different packages, which are represented by directories. Because I own the domain name - do make sure to have a look - all my packages begin with eu.javaspecialists (the domain name reversed). Since our project has to do with our courses, that is our next sub-package, followed by juppies2. We then have lib - library classes - and ui - the user interface.

It is super easy to make mistakes when we code. The most common are what we call "fence-post" errors. Imagine you want to build a fence that is 15 meters long and every 1.5 meters you need a fence-post. How many fence-posts do you need to buy to construct your fence? Is the correct answer 9, 10 or 11? It is easy to make mistakes of this nature and thus we always want to write test code to check that our code is working correctly.

We recorded this course with Java 14, because that was the version in use in July 2020. We recommend that you use any Java version from Java 11 onwards. Java 8 should also work, but that is getting long in the tooth now.

We have a project file called pom.xml - this is used by an ingenious program called Maven that knows how to find all the necessary dependencies to build our system. Maven has made our lives as Java programmers so much easier.

Why "Juppies"? - The word "Java" is trademarked by Oracle Corporation when used in conjunction with a programming language. Traditionally, we prefix anything that might be related to Java with "J", such as "Jalopy", "Jetbrains", "Jfokus", etc. When thinking of the target market, I thought of guppies, the cute little fish that are found in fish tanks around the world. So this became "Juppies". But we could also imagine a litter of beautiful golden retriever puppies trying to learn about the world. Enter "Juppies". A course for anybody wanting to learn how to program in Java.


When you load these comments, you'll be connected to Disqus. Privacy Statement.

Table of Contents

We hope you enjoyed this tutorial. If you did, you will also enjoy our courses. We suggest you start with Extreme Java - Advanced Java, followed by Extreme Java - Concurrency Performance for Java 8.

About the Author

Heinz Kabutz Java Conference Speaker

Java Champion, author of the Javaspecialists Newsletter, conference speaking regular... About Heinz

Superpack '22

Superpack '22 Our entire Java Specialists Training in one huge bundle more...

Free Java Book

Dynamic Proxies in Java Book
Java Training

We deliver relevant courses, by top Java developers to produce more resourceful and efficient programmers within their organisations.

Java Consulting

We can help make your Java application run faster and trouble-shoot concurrency and performance bugs...

Java Emergency?

If your system is down, we will review it for 15 minutes and give you our findings for just 1 € without any obligation.