1

i have a spring boot app that runs perfect on my machine. I tried to deploy it on railway.app The build is ok but at deployment i get this error :

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.lagalt.LagaltProjectApplication.main(LagaltProjectApplication.java:9)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
at java.base/jdk.internal.loader.BuiltinClass`your text`Loader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)

I have the following gradle.build file:

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.4'
    id 'io.spring.dependency-management' version '1.1.0'
}

// Apply the Spring Boot Gradle plugin
apply plugin: 'org.springframework.boot'

jar {
    manifest {
        attributes(

                'Main-Class': 'com.lagalt.LagaltProjectApplication'
        )
    }
}

group = 'com.lagalt'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {

    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    runtimeOnly 'org.postgresql:postgresql'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-bo`your text`ot-starter-test'
}

tasks.named('test') {
    useJUnitPlatform()
}

any ideas?

i deleted the jar{} but there was an error could not find main class

type here

1 Answers1

1

Try to add this in build.gradle

jar {
    enabled = false
    manifest {
        attributes 'Main-Class': 'com.example.MainApplication'
    }
}
Jayasurya
  • 79
  • 1
  • 3