无法解析方法“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()”的主要内容,如果未能解决你的问题,请参考以下文章
无法解析方法'setWebChromeClient(匿名android