Error package does not exist during compileJava

Hi all,
As a beginner in gradle and also in java, I am trying to follow a gradle tutorial where a simple bootspring project gradle-multiproject-masterclass consists of 3 subprojects
app, model and service. I am stuck trying to build the whole project with this error:

error: package com.tomgregory.maxirail.service does not exist
issued during :app:compileJava

I don’t understand this error as implementation(project(“:service”)) is declared in app dependencies section of app/build.gradle.kts

I have tried googling and using ChatGpt without luck unfortunately.
Could you please help me solve the following error during app build, issued by :app:compileJava ?
Here is the scan build

.../gradle-multiproject-masterclass/app/src/main/java/com/tomgregory/maxirail/controller/MaxiRailController.java:3: error: package com.tomgregory.maxirail.service does not exist
import com.tomgregory.maxirail.service.TrainTimeService;
                                      ^

Here is MaxiRailController.java file:


//MaxiRailController.java
package com.tomgregory.maxirail.controller;
import com.tomgregory.maxirail.model.TrainTime;
import com.tomgregory.maxirail.service.TrainTimeService;

@RestController
public class MaxiRailController {
	private final TrainTimeService trainTimeService;

here is the structure of the project:

$tree app/src
app/src
└── main
    └── java
        └── com
            └── tomgregory
                └── maxirail
                    ├── MaxiRailApplication.java
                    └── controller
                        └── MaxiRailController.java
$tree service/src
service/src/
└── main
    └── com
        └── tomgregory
            └── maxirail
                └── service
                    └── TrainTimeService.java

gradle-multiproject-masterclass$ tree . -L 2
.
├── app
│   ├── build
│   ├── build.gradle.kts
│   └── src
├── build
│   ├── classes
│   ├── generated
│   ├── libs
│   ├── resolvedMainClassName
│   └── tmp
├── gradle
│   ├── libs.versions.toml
│   └── wrapper
├── gradlew
├── gradlew.bat
├── model
│   ├── build
│   ├── build.gradle.kts
│   └── src
├── service
│   ├── build.gradle.kts
│   └── src
└── settings.gradle.kts

Below setting.gradle.kts:

rootProject.name = "gradle-multiproject-masterclass"
include("app", "model", "service")

Below app/build.gradle.kts:

plugins{
    id("java")
    id("io.spring.dependency-management") version "1.0.11.RELEASE" //suggestion // by ChatGPT
    id("org.springframework.boot") version "3.2.2"
}
repositories {
    mavenCentral()
}
dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web:3.2.2")
    implementation(project(":service"))
}

and

service/build.gradle.kts

plugins {
    `java-library`
}

repositories {
    mavenCentral()
}

dependencies {
    api(project(":model"))
        //implementation("org.springframework:spring-context:6.1.3")
    implementation("org.springframework.boot:spring-boot-starter-web:3.2.2")
}

Thanks very much !
Cédric

Just a dumb error, I forgot java subdirectory in service/src/main

1 Like