无法解析方法“buildAsync()”

Posted

技术标签:

【中文标题】无法解析方法“buildAsync()”【英文标题】:Cannot resolve method 'buildAsync()' 【发布时间】:2019-08-28 02:02:45 【问题描述】:

我曾经在 javascript 上开发机器人,但因为我在 C++ 上编写了很多代码,所以我决定转向 Java。我找到了一个教程,他们告诉我使用 Gradle。我按照说明进行操作,现在有了以下代码:

import net.dv8tion.jda.api.JDABuilder;

import javax.security.auth.login.LoginException;

public class Main 
    public static void main(String[] args) throws LoginException 
        JDABuilder builder = new JDABuilder(AccountType.BOT);
        String token = "Not telling";
        builder.setToken(token);
        builder.buildAsync();
    

但是这里是我运行它时从编译器得到的消息:

Error:(11, 16) java: cannot find symbol
  symbol:   method buildAsync()
  location: variable builder of type net.dv8tion.jda.api.JDABuilder

附:如果需要,这里是 build.gradle:

plugins 
    id 'java'


group 'com.discord-bot'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories 
    mavenCentral()
    jcenter()


dependencies 
    compile 'net.dv8tion:JDA:4.ALPHA.0_67'

关于如何处理它的任何建议?

【问题讨论】:

【参考方案1】:

buildAsync() 方法已在 net.dv8tion:JDA 的版本 4 中被弃用和删除。

由于您使用的是net.dv8tion:JDA 的版本4.ALPHA.0_67,因此您必须改用build() 方法:

import net.dv8tion.jda.api.JDABuilder;

import javax.security.auth.login.LoginException;

public class Main 
    public static void main(String[] args) throws LoginException 
        JDABuilder builder = new JDABuilder(AccountType.BOT);
        String token = "Not telling";
        builder.setToken(token);
        builder.build();
    

或者,您可以将您的版本降级到net.dv8tion:JDA:3.8.3_462。但是你必须改变一些导入,因为它们也被改变了。

【讨论】:

【参考方案2】:

检查 Javadoc 的版本。您正在使用 4.0-alpha。您使用的版本中可能会删除此方法。

【讨论】:

【参考方案3】:

目前 jda 4.2.0 更改了很多东西,所以代码看起来更像

import net.dv8tion.jda.api.JDABuilder;

import javax.security.auth.login.LoginException;

public class Main 
    public static void main(String[] args) throws LoginException 
        JDABuilder builder = JDABuilder.createDefault("your token");

        builder.build();
    

【讨论】:

以上是关于无法解析方法“buildAsync()”的主要内容,如果未能解决你的问题,请参考以下文章

无法解析 putextra 方法

无法解析方法'setWebChromeClient(匿名android

无法解析方法 .getFilter()

无法解析方法 getLocationSettingsStates()

无法解析方法 startActivity()

无法解析 imageView 中的方法 setText()