Unable to find a single main class from the following candidates [io.ruin.api.utils.RSAKeyGen, io.ruin.api.utils.PacketSizeTool

Viewed 51

whenver i try to build my project with gradle i get the error

Unable to find a single main class from the following candidates [io.ruin.api.utils.RSAKeyGen, io.ruin.api.utils.PacketSizeTool

I've been looking for hours on how to fix this, but none of the provided solutions seem to work. I'll leave my build.gradle below. I've tried numerous things with springboot, I can only find solutions for springboot, but i'm not using that for my project

buildscript {

    repositories {
        mavenCentral()
    }

    dependencies {
        classpath group: 'org.db4j', name: 'kilim', version: '2.0.2'
    }

}

plugins {
    id 'application'
    id 'org.jetbrains.kotlin.jvm' version '1.3.61' apply false
    id 'io.franzbecker.gradle-lombok' version '3.3.0' apply false
}

mainClassName = ""

allprojects {

    apply plugin: 'io.franzbecker.gradle-lombok'

    repositories {
        mavenCentral()
        mavenLocal()
        jcenter()
        maven { url "http://repo.maven.apache.org/maven2" }
        maven { url "https://repo.adobe.com/nexus/content/repositories/public/"}
        maven { url "https://dl.bintray.com/dv8fromtheworld/maven" }
        maven { url "https://projectlombok.org/edge-releases" }
    }

    lombok {
        version = "1.18.12"
    }

}


subprojects {

    apply plugin: 'java'

    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    repositories {
        mavenCentral()
        mavenLocal()
        jcenter()
        maven { url "https://repo.maven.apache.org/maven2" }
        maven { url "https://repo.adobe.com/nexus/content/repositories/public/"}
        maven { url "https://dl.bintray.com/dv8fromtheworld/maven" }
        maven { url "https://projectlombok.org/edge-releases" }
    }

    dependencies {

        compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
        compile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.25'
        compile group: 'com.google.guava', name: 'guava', version:'28.1-jre'
        compile group: 'com.google.code.gson', name: 'gson', version:'2.8.2'
        compile group: 'io.netty', name: 'netty-all', version:'4.1.17.Final'
        compile group: 'com.googlecode.json-simple', name: 'json-simple', version:'1.1.1'

        testCompile 'junit:junit:4.12'
        compile group: 'org.json', name: 'json', version: '20190722'

        compileOnly group: 'org.projectlombok', name: 'lombok', version: 'edge-SNAPSHOT'
        annotationProcessor group: 'org.projectlombok', name: 'lombok', version: 'edge-SNAPSHOT'

        // https://mvnrepository.com/artifact/com.j256.two-factor-auth/two-factor-auth
        compile group: 'com.j256.two-factor-auth', name: 'two-factor-auth', version: '1.0'//
        // https://mvnrepository.com/artifact/net.sf.jopt-simple/jopt-simple
        compile group: 'net.sf.jopt-simple', name: 'jopt-simple', version: '5.0.4'

    }
    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = '1.8'
            freeCompilerArgs += '-include-runtime'
        }
    }



    task collectJars(type: Copy) {
        into "$rootDir/build/libs/"
        from "$buildDir/libs/"
    }

    task collectDist {
        doLast {
            copy {
                from fileTree(dir: "$buildDir/distributions/")
                into "$rootDir/build/collected/"
            }
        }
    }


    collectDist.dependsOn(assembleDist)
    collectJars.dependsOn( jar )
    collectJars.group = "deployment"

    collectDist.group = "deployment";



}


task cleanDist(type: Delete) {
    delete "$rootDir/build/collected/"
}
task jarAll {
    def serverProjects = ["kronos-central-server", "kronos-server", "kronos-update-server", "kronos-server-live" ]
    serverProjects.each { dependsOn("$it:jar") }
    doLast {

    }
}

task mergeDist {
    def serverProjects = ["kronos-central-server", "kronos-server", "kronos-update-server", "kronos-server-live" ]

    serverProjects.each { dependsOn("$it:distZip", "$it:collectDist") }
    doLast {
        fileTree("$rootDir/build/collected/").each { file ->
            if (file.name.endsWith(".zip"))
                copy {
                    from zipTree(file).matching { include "*/lib/**" include "*/bin/**"}
                    into "$rootDir/build/collected/unpacked"
                    includeEmptyDirs = false
                    eachFile { fcd ->
                        fcd.relativePath = new RelativePath(true, fcd.relativePath.segments.drop(1))
                    }
                }
        }
    }
}


task zipDeploy(type: Zip) {
    dependsOn(mergeDist)
    from fileTree("$rootDir/build/collected/unpacked/")
    include "/bin/**"
    include "/lib/**"
    include "/**"
    archiveFileName = "deploy.zip"
    destinationDirectory = file("$rootDir/build/deploy/")

}


mergeDist.dependsOn(cleanDist)

mergeDist.group = "deployment"
jarAll.group = "deployment"
zipDeploy.group = "deployment"
0 Answers
Related