Java 如何在Gradle中配置类星体

Java 如何在Gradle中配置类星体,java,intellij-idea,gradle,build.gradle,quasar,Java,Intellij Idea,Gradle,Build.gradle,Quasar,我是格拉德尔的新手,不知道该怎么办。 以下是有关如何通过Gradle安装Quasar的Quasar文档: 页面中还有一个模板项目: 最后,这是我的build.gradle: group 'TGAdminsBot' version '0.1' apply plugin: 'java' apply plugin: 'idea' apply plugin: 'application' sourceCompatibility = 1.8 repositories { mavenCentr

我是格拉德尔的新手,不知道该怎么办。
以下是有关如何通过Gradle安装Quasar的Quasar文档:
页面中还有一个模板项目:
最后,这是我的
build.gradle

group 'TGAdminsBot'

version '0.1'

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'application'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
}
mainClassName = "Launcher"
idea {
    module
            {
                downloadJavadoc = true
                downloadSources = true
            }

}
dependencies {
compile 'co.paralleluniverse:quasar-core:0.7.4:jdk8'
compile 'com.fasterxml.jackson.core:jackson-databind:2.7.4'

compile 'com.fasterxml.jackson.core:jackson-core:2.7.4'
//compile 'com.github.User:Repo:Tag'
//compile 'com.mashape.unirest:unirest-java:1.4.9'
compile 'co.paralleluniverse:comsat-httpclient:0.7.0'
compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.2.0'
testCompile group: 'junit', name: 'junit', version: '4.11'

}
configurations {
    quasar
}
task runQuasar {
    jvmArgs "-javaagent:${configurations.quasar.iterator().next()}"


}
run.dependsOn runQuasar
我得到这个错误:

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\Sobhan\Documents\IntelliJIDEAProjects\TGAdminsBot\build.gradle' line: 39

* What went wrong:
A problem occurred evaluating root project 'TGAdminsBot'.
> java.util.NoSuchElementException (no error message)

那我该怎么办?我再次很抱歉问这个问题,但我是Gradle的新手,在发布这个问题之前我搜索了很多。谢谢

我认为您的问题主要在于
runQuasar
的定义,它不是一个运行任务,因此没有
jvmArgs
属性,但是,如果您出于我不知道的其他原因不需要它,那么只需定义
runQuasar
并声明
run
依赖于它:

applicationDefaultJvmArgs = [
    "-javaagent:${configurations.quasar.singleFile}" // =v, =d
]

如果您需要一个单独的
runQuasar
,我认为您需要将其声明为
JavaExec
任务(请查看)。

有三个问题

  • 配置
    是在
    依赖项
    之前定义的
  • 依赖项中需要两行:


    编译“co.paralleluniverse:类星体核心:0.7.4:jdk8”
    类星体'co.paralleluniverse:类星体核心:0.7.4:jdk8'


  • 缺少此块:


    tasks.withType(JavaExec){
    jvmArgs“-javaagent:${configurations.quasar.iterator().next()}”
    }


  • 最后,这是最终的
    build.gradle

    group 'TGAdminsBot'
    version '0.1'
    
    apply plugin: 'java'
    apply plugin: 'idea'
    
    sourceCompatibility = 1.8
    
    repositories {
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
    idea {
        module
                {
                    downloadJavadoc = true
                    downloadSources = true
                }
    
    }
    configurations {
        quasar
    }
    
    dependencies {
        compile 'co.paralleluniverse:quasar-core:0.7.4:jdk8'
        quasar 'co.paralleluniverse:quasar-core:0.7.4:jdk8'
        compile 'com.fasterxml.jackson.core:jackson-databind:2.7.4'
        compile 'com.fasterxml.jackson.core:jackson-core:2.7.4'
        compile 'co.paralleluniverse:comsat-httpclient:0.7.0'
        compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.2.0'
        testCompile group: 'junit', name: 'junit', version: '4.11'
    
    }
    
    
    tasks.withType(JavaExec)
            {
                jvmArgs "-javaagent:${configurations.quasar.iterator().next()}"
            }
    task run(type: JavaExec) {
    
        main = 'com.sunova.bot.Launcher'
        classpath = sourceSets.main.runtimeClasspath
    }
    

    这是真的,但是我的代码中还有一些错误,我在回答我的问题时已经讨论过了。