Java 如何在插口插件中使用discord4j

Java 如何在插口插件中使用discord4j,java,minecraft,discord4j,Java,Minecraft,Discord4j,我正在做一个插件的朋友minecraft服务器,他们也有一个不和谐的服务器为这台服务器。我正在尝试使用discord4j在discord服务器和插件之间添加一些集成。插件编译得很好,当我尝试加载插件时,我遇到两个异常之一: 第一次加载插件时 java.lang.NoSuchMethodError:'boolean io.netty.handler.ssl.SslProvider.isAlpnSupported(io.netty.handler.ssl.SslProvider)' 在reactor

我正在做一个插件的朋友minecraft服务器,他们也有一个不和谐的服务器为这台服务器。我正在尝试使用discord4j在discord服务器和插件之间添加一些集成。插件编译得很好,当我尝试加载插件时,我遇到两个异常之一:

  • 第一次加载插件时
  • java.lang.NoSuchMethodError:'boolean io.netty.handler.ssl.SslProvider.isAlpnSupported(io.netty.handler.ssl.SslProvider)'
    在reactor.netty.http.client.HttpClientSecure.(HttpClientSecure.java:79)~[?:?]
    在reactor.netty.http.client.HttpClient.secure(HttpClient.java:1073)~[?:?]
    在discord4j.common.ReactorResources.lambda$static$0(ReactorResources.java:41)~[?:?]
    在discord4j.common.ReactorResources.(ReactorResources.java:54)~[?:?]
    在discord4j.rest.RestClientBuilder.initReactorResources(RestClientBuilder.java:245)~[?:?]
    在discord4j.rest.RestClientBuilder.build(RestClientBuilder.java:226)~[?:?]
    在discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:85)~[?:?]
    在discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:73)~[?:?]
    在nz.laspruca.tcplugin.util.Discord.(Discord.java:18)~[?:?]
    在nz.laspruca.tcplugin.Plugin.oneable(Plugin.java:14)~[?:?]
    在org.qrl.tcplugin.tcplugin.oneable(tcplugin.java:18)~[?:?]
    在org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:494)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:408)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:435)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.dicatedserver.init(dicatedserver.java:216)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:808)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在java.lang.Thread.run(Thread.java:834)[?:?]
    
  • 当我重新加载插件时
  • java.lang.ExceptionInInitializeError:null
    在reactor.netty.http.client.HttpClient.followRedirect(HttpClient.java:870)~[?:?]
    在reactor.netty.http.client.HttpClient.followRedirect(HttpClient.java:806)~[?:?]
    在discord4j.common.ReactorResources.lambda$static$0(ReactorResources.java:41)~[?:?]
    在discord4j.common.ReactorResources.(ReactorResources.java:54)~[?:?]
    在discord4j.rest.RestClientBuilder.initReactorResources(RestClientBuilder.java:245)~[?:?]
    在discord4j.rest.RestClientBuilder.build(RestClientBuilder.java:226)~[?:?]
    在discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:85)~[?:?]
    在discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:73)~[?:?]
    在nz.laspruca.tcplugin.util.Discord.(Discord.java:18)~[?:?]
    在nz.laspruca.tcplugin.Plugin.oneable(Plugin.java:14)~[?:?]
    在org.qrl.tcplugin.tcplugin.oneable(tcplugin.java:18)~[?:?]
    在org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:494)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:408)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.reload(CraftServer.java:876)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.bukkit.reload(bukkit.java:642)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchCommand(CraftServer.java:758)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchServerCommand(CraftServer.java:743)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.DedicatedServer.handleCommandQueue(DedicatedServer.java:381)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.dicatedserver.b(dicatedserver.java:350)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164)~[spigot-1.16.3.jar:git-spigot-57bbdd8-55a78ff]
    在java.lang.Thread.run(Thread.java:834)[?:?]
    原因:java.lang.IllegalArgumentException:“httpClientConf”已在使用中
    在io.netty.util.ConstantPool.createOrThrow(ConstantPool.java:113)~[spiget-1.16.3.jar:git-spiget-57bbdd8-55a78ff]
    在io.netty.util.ConstantPool.newInstance(Consta
    
    java.lang.NoSuchMethodError: 'boolean io.netty.handler.ssl.SslProvider.isAlpnSupported(io.netty.handler.ssl.SslProvider)'
        at reactor.netty.http.client.HttpClientSecure.<clinit>(HttpClientSecure.java:79) ~[?:?]
        at reactor.netty.http.client.HttpClient.secure(HttpClient.java:1073) ~[?:?]
        at discord4j.common.ReactorResources.lambda$static$0(ReactorResources.java:41) ~[?:?]
        at discord4j.common.ReactorResources.<init>(ReactorResources.java:54) ~[?:?]
        at discord4j.rest.RestClientBuilder.initReactorResources(RestClientBuilder.java:245) ~[?:?]
        at discord4j.rest.RestClientBuilder.build(RestClientBuilder.java:226) ~[?:?]
        at discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:85) ~[?:?]
        at discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:73) ~[?:?]
        at nz.laspruca.tcplugin.util.Discord.<init>(Discord.java:18) ~[?:?]
        at nz.laspruca.tcplugin.Plugin.onEnable(Plugin.java:14) ~[?:?]
        at org.qrl.tcplugin.TCPlugin.onEnable(TCPlugin.java:18) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:494) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:408) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:435) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:216) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:808) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at java.lang.Thread.run(Thread.java:834) [?:?]
    
    java.lang.ExceptionInInitializerError: null
        at reactor.netty.http.client.HttpClient.followRedirect(HttpClient.java:870) ~[?:?]
        at reactor.netty.http.client.HttpClient.followRedirect(HttpClient.java:806) ~[?:?]
        at discord4j.common.ReactorResources.lambda$static$0(ReactorResources.java:41) ~[?:?]
        at discord4j.common.ReactorResources.<init>(ReactorResources.java:54) ~[?:?]
        at discord4j.rest.RestClientBuilder.initReactorResources(RestClientBuilder.java:245) ~[?:?]
        at discord4j.rest.RestClientBuilder.build(RestClientBuilder.java:226) ~[?:?]
        at discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:85) ~[?:?]
        at discord4j.core.DiscordClientBuilder.build(DiscordClientBuilder.java:73) ~[?:?]
        at nz.laspruca.tcplugin.util.Discord.<init>(Discord.java:18) ~[?:?]
        at nz.laspruca.tcplugin.Plugin.onEnable(Plugin.java:14) ~[?:?]
        at org.qrl.tcplugin.TCPlugin.onEnable(TCPlugin.java:18) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:494) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:408) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.reload(CraftServer.java:876) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.Bukkit.reload(Bukkit.java:642) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchCommand(CraftServer.java:758) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at org.bukkit.craftbukkit.v1_16_R2.CraftServer.dispatchServerCommand(CraftServer.java:743) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.DedicatedServer.handleCommandQueue(DedicatedServer.java:381) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:350) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at java.lang.Thread.run(Thread.java:834) [?:?]
    Caused by: java.lang.IllegalArgumentException: 'httpClientConf' is already in use
        at io.netty.util.ConstantPool.createOrThrow(ConstantPool.java:113) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at io.netty.util.ConstantPool.newInstance(ConstantPool.java:95) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at io.netty.util.AttributeKey.newInstance(AttributeKey.java:55) ~[spigot-1.16.3.jar:git-Spigot-57bbdd8-55a78ff]
        at reactor.netty.http.client.HttpClientConfiguration.<clinit>(HttpClientConfiguration.java:51) ~[?:?]
        ... 28 more
    
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>your.main.class</mainClass>
                                </transformer>
                            </transformers>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/maven/**</exclude>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            <relocations>
                                <relocation>
                                    <pattern>io</pattern>
                                    <shadedPattern>io.netty</shadedPattern>
                                    <includes>
                                        <include>io.netty.*</include>
                                    </includes>
                                </relocation>
                            </relocations>
                        </configuration>
                    </execution>
                </executions>
            </plugin>