MiraiForum

    • 注册
    • 登录
    • 搜索
    • 热门
    • 最新
    • 未解决
    • 标签
    • 群组
    • 友情链接

    求助,springboot ,qsign 升级至1.3.0 后出现了问题

    开发交流
    3
    4
    594
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • W
      WhiteMagic2014 最后由 编辑

      项目是 spring boot + mirai-core-all
      一段时间没有更新,因为看到qsign升级1.3.0版本了 所以想着也更新一下,对应的 mirai2.jar 包 以及 其对应的 txlib包 都是在github上下载的

          <dependency>
                  <groupId>net.mamoe</groupId>
                  <artifactId>mirai-core-all</artifactId>
                  <version>2.16.0</version>
                  <scope>provided</scope>
          </dependency>
      
      升级前
      <!--        <dependency>-->
      <!--            <groupId>top.mrxiaom</groupId>-->
      <!--            <artifactId>qsign</artifactId>-->
      <!--            <version>1.2.1-beta</version>-->
      <!--            <scope>system</scope>-->
      <!--            <systemPath>${project.basedir}/lib/qsign-1.2.1-beta-dev-5058a66.mirai2.jar</systemPath>-->
      <!--        </dependency>-->
      升级后
            <dependency>
                  <groupId>top.mrxiaom</groupId>
                  <artifactId>qsign</artifactId>
                  <version>1.3.0</version>
                  <scope>system</scope>
                  <systemPath>${project.basedir}/lib/qsign-1.3.0.mirai2.jar</systemPath>
              </dependency>
      

      升级前可以正常启动,验证登录,将 qsign升级至1.3.0后 ,启动项目发生报错

      16:27:07 [main] ERROR org.springframework.boot.SpringApplication - Application run failed 
      java.lang.IllegalStateException: Failed to execute ApplicationRunner
      	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789)
      	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:776)
      	at org.springframework.boot.SpringApplication.run(SpringApplication.java:322)
      	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
      	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
      	at com.whitemagic2014.WMagicBotRApplication.main(WMagicBotRApplication.java:10)
      Caused by: kotlin.UninitializedPropertyAccessException: lateinit property CONFIG has not been initialized
      	at DataKt.getCONFIG(Data.kt:5)
      	at top.mrxiaom.qsign.QSignService$Factory$Companion.loadConfigFromFile(QSignService.kt:242)
      	at top.mrxiaom.qsign.QSignService$Factory.loadConfigFromFile(QSignService.kt)
      	at com.whitemagic2014.Simulator.setupNew(Simulator.java:106)
      	at com.whitemagic2014.Simulator.run(Simulator.java:77)
      	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:786)
      	... 5 common frames omitted
      

      lateinit property CONFIG has not been initialized
      这个问题百度搜了一下,貌似是kt 和 spring 结合使用的时初始化的问题,具体代码为 qsign java的示例

          public static void setup() {
              // 初始化签名服务,参数为签名服务工作目录,里面应当包含
              // config.json, dtconfig.json, libfekit.so, libQSec.so
              QSignService.Factory.init(new File("txlib/8.9.85"));
              // 加载签名服务所需协议信息,如果你的协议信息存在非 以上的工作目录 中的文件夹,请将参数 null 改为协议信息所在目录
              // 该方法将会扫描目录下以协议信息命名的文件进行加载,如 android_phone.json
              // 如果你想单独加载协议信息文件,详见 loadProtocolExample() 中的例子
              QSignService.Factory.loadProtocols(null);
              // 注册签名服务
              QSignService.Factory.register();
          }
      

      由于我不太懂 kotlin,不知道要如何处理目前的问题,希望有大佬可以帮助一下

      1 条回复 最后回复 回复 引用 0
      • MrXiaoM
        MrXiaoM 童心未泯 最后由 编辑

        没有必要升级,因为 1.3.0 的实现没有变动

        W 1 条回复 最后回复 回复 引用 0
        • W
          WhiteMagic2014 @MrXiaoM 最后由 编辑

          @MrXiaoM
          好的,感谢大佬解答~

          1 条回复 最后回复 回复 引用 0
          • O
            OriginSakura 最后由 编辑

            此回复已被删除!
            1 条回复 最后回复 回复 引用 0
            • 1 / 1
            • First post
              Last post
            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact