簡體   English   中英

NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)

[英]NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)

我正在使用電報機器人 api 編寫應用程序。 我想通過機器人向電報組發送消息。 這很好用,如果我在 Eclipse 中運行 jar 應用程序。 但是,如果我在本地主機上的 Spigotplugin 中對其進行測試,則會收到以下錯誤:

[02:40:55 ERROR]: Error occurred while enabling TelegramTest v0.0.1 (Is it up to date?)
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        at com.google.inject.TypeLiteral.getParameterTypes(TypeLiteral.java:278) ~[?:?]
        at com.google.inject.spi.InjectionPoint.forMember(InjectionPoint.java:115) ~[?:?]
        at com.google.inject.spi.InjectionPoint.<init>(InjectionPoint.java:82) ~[?:?]
        at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:289) ~[?:?]
        at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:115) ~[?:?]
        at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:706) ~[?:?]
        at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:930) ~[?:?]
        at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:852) ~[?:?]
        at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:291) ~[?:?]
        at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:222) ~[?:?]
        at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1040) ~[?:?]
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1071) ~[?:?]
        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1034) ~[?:?]
        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1086) ~[?:?]
        at org.telegram.telegrambots.meta.ApiContext.getInstance(ApiContext.java:27) ~[?:?]
        at org.telegram.telegrambots.bots.TelegramLongPollingBot.<init>(TelegramLongPollingBot.java:16) ~[?:?]
        at de.iltisauge.telegram.Bot.<init>(Bot.java:14) ~[?:?]
        at de.iltisauge.telegram.TestTelegram.onEnable(TestTelegram.java:9) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:741) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.Bukkit.reload(Bukkit.java:535) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]

我正在使用 Telegram-Bot-API-Plugin for Spigot 來加載 TelegramAPI 和 google guava 的東西。 我正在使用番石榴 28.1-jre 這是我的 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>de.iltisauge</groupId>
  <artifactId>telegram-test-2</artifactId>
  <version>0.0.1-SNAPSHOT</version>

    <repositories>
        <repository>
            <id>spigot-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.telegram</groupId>
            <artifactId>telegrambots</artifactId>
            <version>4.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.telegram</groupId>
            <artifactId>telegrambotsextensions</artifactId>
            <version>4.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.telegram</groupId>
            <artifactId>telegrambots-meta</artifactId>
            <version>4.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.8-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

這是我的插件:

package de.iltisauge.telegram;

import org.bukkit.plugin.java.JavaPlugin;

public class TestTelegram extends JavaPlugin {

    @Override
    public void onEnable() {
        Bot bot = new Bot("BOTNAME", "BOT_TOKEN");
        bot.sendMessage(CHAT_ID, 0, "Bot wurde gestartet!");
    }
}
package de.iltisauge.telegram;

import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
import org.telegram.telegrambots.meta.api.objects.Update;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;

public class Bot extends TelegramLongPollingBot {

      private String username;

      private String token;

      public Bot(String username, String token) {
        this.username = username;
        this.token = token;
      }

      public void onUpdateReceived(Update update) {
      }

      public void sendMessage(long chatId, int replyId, String text) {
          try {
              execute(new SendMessage().setChatId(Long.valueOf(chatId))
                      .setText(text).setReplyToMessageId(Integer.valueOf(replyId)));
          } catch (TelegramApiException e) {
              e.printStackTrace();
          } 
      }

    public String getBotUsername() {
        return username;
    }

    public String getBotToken() {
        return token;
    }
}

我在stackoverflow上搜索了答案,但沒有找到解決方案。

丹尼爾

在 pom 的位置運行mvn dependency:tree並檢查是否有多個 guava 依賴項。 如果確實如此,則使用以下命令排除舊版本:

<exclusions>
    <exlcusion>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
    </exclusion>
</exclusions>

依賴於帶來舊版本的依賴。 然后再次嘗試您的程序。 如果它不起作用,請添加mvn dependency:tree的結果,以便我可以更好地查看它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 錯誤:: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V 錯誤:原因:com.google.common.base.Preconditions.checkArgument(ZLjava / lang / String; Ljava / lang / Object;)V NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V com.google.common.base.Preconditions.checkArgument(ZLjava /郎/字符串; CLjava /郎/對象;)V NoSuchMethodError:com.google.common.base.Preconditions.checkState(ZLjava / lang / String; Ljava / lang / Object; Ljava / lang / Object; Ljava / lang / Object;)V 線程“main”中的異常 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;) 谷歌雲 KMS java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;J)V java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;I)V 與 IE 和 Selenium 通過 Java Maven - NoSuchMethodError:void com.google.common.base.Preconditions.checkArgument(布爾值,java.lang.String,java.lang.Object)
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM