简体   繁体   中英

What is the main-class attribute of the build.gradle file?

I was told to include this in my build.gradle file in exercism.io in order to run my test suite in Java.

jar {
    manifest {
        attributes 'Main-Class': 'net.petrikainulainen.gradle.HelloWorld'
    }
}

What is jar? What is the attributes 'Main-Class' doing? Is it specifying where my main class exists in the build folder?

In essence, gradle seems to be doing a few things for me: 1. creating a build folder where my Javascript compiled code exists 2. running my test suite 3. fetching any dependencies that I specify in the build.gradle file.

Is this typically what a dependency manager does?

In order to run tests you don't need to add a Main-Class attribute. What you've done there is specify that when building a jar file, include the Main-Class attribute in the jars manifest, which is the class to use as the entry when running a jar file via java -jar .

In answer to your second question, Gradle isn't a dependency manager, it's a build automation tool and yes, that's typically what they do for you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM