mamoe / mirai

高效率 QQ 机器人支持库
https://mirai.mamoe.net
GNU Affero General Public License v3.0
14.44k stars 2.54k forks source link

Maven项目找不到2.9.0之后的mirai库 #2500

Closed star-xzh closed 1 year ago

star-xzh commented 1 year ago

问题描述

我把Maven依赖中的mirai版本换成了2.14.0之后 import语句就一直提示net.mamoe.mirai.xx.xxxx库 使用的java版本为17 而换到2.9.0和2.9.0以下的版本都能找到库 但是无法登录qq 我曾尝试过更换maven 清除缓存 删除文件重新下载 但是maven下载的依赖项依旧无法找到该类库 无法解析 镜像源用的是阿里的 添加其他框架依赖没有任何问题出现

请问有什么解决办法吗?

复现

无法导入相关mirai组件库

mirai-core 版本

2.14.0

bot-protocol

ANDROID_PHONE

其他组件版本

No response

系统日志

Exception in thread "main" java.util.ServiceConfigurationError: net.mamoe.mirai.IMirai: Provider net.mamoe.mirai.internal.MiraiImpl could not be instantiated
    at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:586)
    at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:813)
    at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:729)
    at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1403)
    at kotlin.collections.CollectionsKt___CollectionsKt.firstOrNull(_Collections.kt:270)
    at net.mamoe.mirai.utils.ServicesKt.loadService(Services.kt:18)
    at net.mamoe.mirai.Mirai.findMiraiInstance(IMirai.kt:357)
    at net.mamoe.mirai._MiraiInstance.get(IMirai.kt:348)
    at net.mamoe.mirai.Mirai.getInstance(IMirai.kt:39)
    at net.mamoe.mirai.BotFactory$INSTANCE.newBot(BotFactory.kt:116)
    at com.zero_star.bot_main.bot_login(bot_main.java:45)
    at com.zero_star.bot_main.main(bot_main.java:22)
Caused by: java.lang.NoClassDefFoundError: net/mamoe/mirai/message/data/RockPaperScissors
    at net.mamoe.mirai.internal.message.protocol.impl.MarketFaceProtocol.collectProcessorsImpl(MarketFaceProtocol.kt:235)
    at net.mamoe.mirai.internal.message.protocol.MessageProtocol.collectProcessors(MessageProtocol.kt:34)
    at net.mamoe.mirai.internal.message.protocol.MessageProtocolFacadeImpl.<init>(MessageProtocolFacade.kt:213)
    at net.mamoe.mirai.internal.message.protocol.MessageProtocolFacadeImpl.<init>(MessageProtocolFacade.kt:193)
    at net.mamoe.mirai.internal.message.protocol.MessageProtocolFacade$INSTANCE.<init>(MessageProtocolFacade.kt:162)
    at net.mamoe.mirai.internal.message.protocol.MessageProtocolFacade$INSTANCE.<clinit>(MessageProtocolFacade.kt)
    at net.mamoe.mirai.internal.message.protocol.MessageProtocolFacade.<clinit>(MessageProtocolFacade.kt)
    at net.mamoe.mirai.internal.MiraiImplKt._MiraiImpl_static_init(MiraiImpl.kt:25)
    at net.mamoe.mirai.internal.MiraiImpl.<clinit>(MiraiImpl.kt:94)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
    at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
    ... 10 more
Caused by: java.lang.ClassNotFoundException: net.mamoe.mirai.message.data.RockPaperScissors
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    ... 25 more

进程已结束,退出代码1

网络日志

No response

补充信息

No response

imythu commented 1 year ago

本地仓库里的包删了重新拉一下试试

star-xzh commented 1 year ago

谢谢你的建议 但是这是在我删除了所有本地Maven仓库关于mirai文件后 并且重新拉取引用后的结果

本地仓库里的包删了重新拉一下试试

pilgrim773 commented 1 year ago

我的idea版本在2020.1的时候出现过gradle拉不到包的问题,更新到2022.1就可以了。可以参考一下

cssxsh commented 1 year ago

mvn dependency:tree 看一下依赖树

star-xzh commented 1 year ago

mven dependency:tree 看一下依赖树

[INFO] +- net.mamoe:mirai-core-api-jvm:jar:2.14.0:compile [INFO] | +- org.jetbrains.kotlin:kotlin-reflect:jar:1.7.10:compile [INFO] | +- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:jar:1.3.3:compile [INFO] | +- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:jar:1.3.3:compile [INFO] | +- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:jar:1.6.4:compile [INFO] | +- org.jetbrains.kotlin:kotlin-stdlib-common:jar:1.7.10:compile [INFO] | +- org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:1.7.10:compile [INFO] | | - org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:1.7.10:compile [INFO] | +- me.him188:kotlin-jvm-blocking-bridge-runtime-jvm:jar:2.1.0-170.1:runtime [INFO] | +- me.him188:kotlin-dynamic-delegation-jvm:jar:0.3.0-170.1:runtime [INFO] | +- net.mamoe:mirai-core-utils-jvm:jar:2.14.0:runtime [INFO] | +- net.mamoe:mirai-console-compiler-annotations-jvm:jar:2.14.0:runtime [INFO] | +- org.jetbrains.kotlinx:kotlinx-serialization-protobuf-jvm:jar:1.3.3:runtime [INFO] | +- org.jetbrains.kotlinx:atomicfu-jvm:jar:0.18.3:runtime [INFO] | +- org.jetbrains:annotations:jar:19.0.0:compile [INFO] | - org.apache.logging.log4j:log4j-api:jar:2.19.0:runtime [INFO] +- org.yaml:snakeyaml:jar:1.33:compile [INFO] +- org.jsoup:jsoup:jar:1.15.3:compile [INFO] +- com.squareup.okhttp3:okhttp:jar:4.10.0:compile [INFO] | +- com.squareup.okio:okio-jvm:jar:3.0.0:compile [INFO] | - org.jetbrains.kotlin:kotlin-stdlib:jar:1.6.20:compile [INFO] +- com.alibaba:fastjson:jar:2.0.21:compile [INFO] | - com.alibaba.fastjson2:fastjson2-extension:jar:2.0.21:compile [INFO] | - com.alibaba.fastjson2:fastjson2:jar:2.0.21:compile [INFO] +- org.apache.directory.studio:org.apache.commons.codec:jar:1.8:compile [INFO] | - commons-codec:commons-codec:jar:1.8:compile [INFO] +- org.apache.maven.plugins:maven-resources-plugin:jar:3.3.0:compile [INFO] | +- org.codehaus.plexus:plexus-interpolation:jar:1.26:compile [INFO] | +- org.apache.maven.shared:maven-filtering:jar:3.3.0:compile [INFO] | | +- javax.inject:javax.inject:jar:1:compile [INFO] | | +- org.slf4j:slf4j-api:jar:1.7.36:compile [INFO] | | - org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile [INFO] | +- commons-io:commons-io:jar:2.11.0:compile [INFO] | - org.apache.commons:commons-lang3:jar:3.12.0:compile [INFO] - org.apache.maven.plugins:maven-assembly-plugin:jar:3.4.2:compile [INFO] +- org.apache.maven.shared:maven-common-artifact-filters:jar:3.3.1:compile [INFO] +- org.apache.maven.shared:maven-artifact-transfer:jar:0.13.1:compile [INFO] | +- org.apache.maven:maven-core:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-model:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-settings:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-settings-builder:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-repository-metadata:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-plugin-api:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-model-builder:jar:3.0:compile [INFO] | | +- org.apache.maven:maven-aether-provider:jar:3.0:runtime [INFO] | | +- org.sonatype.aether:aether-impl:jar:1.7:compile [INFO] | | | - org.sonatype.aether:aether-spi:jar:1.7:compile [INFO] | | +- org.sonatype.aether:aether-api:jar:1.7:compile [INFO] | | +- org.sonatype.aether:aether-util:jar:1.7:compile [INFO] | | +- org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2:compile [INFO] | | | - org.sonatype.sisu:sisu-inject-bean:jar:1.4.2:compile [INFO] | | | - org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7:compile [INFO] | | +- org.codehaus.plexus:plexus-classworlds:jar:2.2.3:compile [INFO] | | - org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile [INFO] | | - org.sonatype.plexus:plexus-cipher:jar:1.4:compile [INFO] | +- org.apache.maven:maven-artifact:jar:3.0:compile [INFO] | - org.codehaus.plexus:plexus-component-annotations:jar:2.0.0:compile [INFO] +- org.codehaus.plexus:plexus-io:jar:3.4.0:compile [INFO] +- org.codehaus.plexus:plexus-archiver:jar:4.4.0:compile [INFO] | +- org.apache.commons:commons-compress:jar:1.21:compile [INFO] | +- org.iq80.snappy:snappy:jar:0.4:compile [INFO] | - org.tukaani:xz:jar:1.9:runtime [INFO] +- org.apache.maven:maven-archiver:jar:3.6.0:compile [INFO] - org.codehaus.plexus:plexus-utils:jar:3.4.2:compile [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:01 min [INFO] Finished at: 2023-02-15T14:33:02+08:00 [INFO] ------------------------------------------------------------------------ 这个是该项目运行后的结果

star-xzh commented 1 year ago

我的idea版本在2020.1的时候出现过gradle拉不到包的问题,更新到2022.1就可以了。可以参考一下

嗯...我是2021.3.2的版本 已经重装过了貌似还是不行

star-xzh commented 1 year ago

image 上层包可以找到但是里面的类无法找到

cssxsh commented 1 year ago

mvn package 如果打包没问题 就是你应该再升级一下 idea 版本

imythu commented 1 year ago

能正常跑,运行时提示classnotfound,说明依赖没问题,可能是下载的jar包不完整,缺了点,可以用压缩软件打开jar包看下那个类在不在,我也用的2.14.0,是有这个类的

cssxsh commented 1 year ago

运行时提示classnotfound

你可能用的是 idea 启动,然后 idea 因为版本问题没有解析全部依赖

目前最新的 idea 版本为 2022.3.2

cssxsh commented 1 year ago

能正常跑,运行时提示classnotfound,说明依赖没问题,可能是下载的jar包不完整,缺了点,可以用压缩软件打开jar包看下那个类在不在,我也用的2.14.0,是有这个类的

或者你的 test 环境有低版本覆盖

cssxsh commented 1 year ago

https://github.com/mamoe/mirai/blob/dev/ci-release-helper/changelogs/2.14.0.md#idea

star-xzh commented 1 year ago

https://github.com/mamoe/mirai/blob/dev/ci-release-helper/changelogs/2.14.0.md#idea

好的 谢谢你的帮助 已经解决了这个问题 idea版本已经升级成2022.3.2了 低于以下版本将无法找到组件库