MiraiForum

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

    请问一下有什么方法能将Mirai-core项目打包成可执行文件吗?

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

      请问一下有什么方法能将Mirai-core项目打包成可执行文件吗?

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

        目前没有一键工具,如果是 console 可以自己将如下结构打包:

        plugins/插件.jar
        mcl-installer.exe
        

        其中 mcl-installer.exe 是安装器,https://github.com/iTXTech/mcl-installer

        1 条回复 最后回复 回复 引用 0
        • Nambers
          Nambers 摸鱼 最后由 Nambers 编辑

          可以用shadowjar打包成jar然后确定主类,用java -jar运行

          import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompile
          
          plugins {
              java
              application
              val kotlinVersion = "1.4.30"
              kotlin("jvm") version kotlinVersion
              id("com.github.johnrengelman.shadow") version "6.1.0"
          
          }
          
          tasks {
              named<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar>("shadowJar") {
                  this.isZip64 = true
              }
          }
          application {
              mainClass.set("org.example.mirai.plugin.KotlinMainKt")
              mainClassName = "org.example.mirai.plugin.KotlinMainKt"
          }
          group = "tech.eritquearcus"
          version = "2.5.0-patch-2"
          
          repositories {
              maven{ url =uri("https://maven.aliyun.com/nexus/content/groups/public/")}
              jcenter()
              mavenCentral()
              mavenLocal()
          }
          
          tasks.withType(KotlinJvmCompile::class.java) {
              kotlinOptions.jvmTarget = "1.8"
          }
          
          dependencies {
              implementation("org.fusesource.jansi:jansi:1.18")
              implementation("com.google.code.gson:gson:2.8.6")
              api("net.mamoe:mirai-core:2.5.0")
              // https://mvnrepository.com/artifact/org.json/json
              implementation("org.json:json:20201115")
          }
          

          这是我的gradle.kt配置,配置好后运行shadowjar任务就可以了

          RainChan S 2 条回复 最后回复 回复 引用 0
          • RainChan
            RainChan 摸鱼 @Nambers 最后由 编辑

            @nambers 其实也可以使用application插件,他会自动生成启动脚本,只不过他不会吧所有依赖打包成一个jar文件

            Nambers 1 条回复 最后回复 回复 引用 0
            • Nambers
              Nambers 摸鱼 @RainChan 最后由 编辑

              @rainchan 喔okok, 不过我觉得shadowjar打包起来挺省事的hhhh

              1 条回复 最后回复 回复 引用 0
              • S
                Sh4wn-Fr4nk1in @Nambers 最后由 编辑

                @nambers 感谢

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