Error: Could not find or load main class

I’m trying to follow this youtube api tutorial:
I use java version “13.0.2” on a fresh lubuntu 19.10 distro

My folder structure is as follows


Following the tutorial I should be able to execute ApiExample as follows:

gradle -q run

However this exits with the following exception:
“Error: Could not find or load main class ApiExample
Caused by: java.lang.ClassNotFoundException: ApiExample”

My build.gradle is as follows:

apply plugin: ‘java’
apply plugin: ‘application’

mainClassName = ‘ApiExample’
sourceCompatibility = 1.7
targetCompatibility = 1.7
version = ‘1.0’

repositories {

dependencies {
compile ‘’
compile ‘’
compile ‘’

After what I’ve read the folder structure should be ok and the build file is copied from the tutorial. Any ideas what is missing?

Your build.gradle file belongs in the root of the project, not in the src/main directory. Your file structure for the project should be:


The Java plugin is going to look for the src in src/main/java relative to the project, so your stated structure would cause the file to not be compiled or available. Therefore, ClassNotFoundException.

While executing, when JVM does not find a .class file with the specified name then a run time error occurs saying “Could not found or load main class”. The reason why this happens is mostly due to:

  • Wrong Class Name
  • Invalid Classpath

Main class could not be found when there is typo or wrong syntax in the fully qualified java class name or it does not exist in the provided classpath. You must ensure that you add the location of your .class file to your classpath. So, if its in the current folder, add . to your classpath. Note that the Windows classpath separator is a semi-colon ; . If you want to execute the main() method in MainClass, you must use the full class name, including package name, in the java command.