当前位置: 首页 > 知识库问答 >
问题:

将依赖打包到jar中

糜运良
2023-03-14

我正在尝试开发一个游戏插件(oldschool runescape)。我正在尝试加入组织。json,以便更容易读取/写入游戏状态和内容,但似乎不知道如何将其发送到package org。json和我的插件。它可以很好地编译,但不能与该包一起运行。有什么帮助吗?

这就是我的插件。格雷德尔。kts看起来像

version = "4.0.0"

project.extra["PluginName"] = "Plugin Name"
project.extra["PluginDescription"] = "Misc QOL fixes I wanted"

repositories{
    mavenCentral()
}
dependencies{
    // https://mavenlibs.com/maven/dependency/org.json/json
    compileOnly(group = "org.json", name = "json", version = "20220320")
}
tasks {
    jar {
        manifest {
            attributes(
                mapOf(
                    "Plugin-Version" to project.version,
                    "Plugin-Id" to nameToId(project.extra["PluginName"] as String),
                    "Plugin-Provider" to project.extra["PluginProvider"],
                    "Plugin-Description" to project.extra["PluginDescription"],
                    "Plugin-License" to project.extra["PluginLicense"]
                )
            )
        }
    }
}

编辑:我尝试了compileOnly、implementation、testImplementation,但都出现了相同的错误“ClassnotFoundException:org.json.JSONObject”

共有1个答案

锺离嘉茂
2023-03-14

您使用了错误的配置,您应该按照本留档使用“实现”而不是“编译”。

要点是,“compileOnly”意味着这些库只在compiletime需要,而不是在运行时需要,因此它们不包括在jar中,因为jar是在运行时使用的。“实现”配置意味着编译时和运行时都需要这些库。或者,您也可以使用“runtimeOnly”来表示只在运行时需要该包,但我不知道这是否适用于您的项目。

 类似资料:
  • 问题内容: 我知道这不是“最佳实践”,但是我可以将所有依赖项包含在一个大罐子中吗? 问题答案: 有一个名为One-Jar的实用程序可以满足您的需求,尽管我建议您不要这样做。表演通常很糟糕。

  • 问题内容: 摘要: 我有一个依赖于JAR文件的AAR文件,当我构建AAR项目时,它不包含JAR代码。 细节: 我有一个Java SDK库项目,其中包含我们用于Java Web项目的代码,此类库是使用内部Nexus服务器(如JAR)创建的,并驻留在内部。 目的是通过一个AAR库提供此JAR库的“ Android配置”版本,多个Android应用程序可以使用该版本,并最大程度地减少了实现它的工作量(和

  • 摘要: 我有一个AAR文件,它依赖于一个JAR文件,当我构建AAR项目时,它不包含JAR代码。 我的AAR项目包含了Java SDK库(JAR)的gradle依赖项,但在构建时,AAR不包含来自它的任何类。 代码: 这是Java SDK项目的gradle文件: 注意2:我尝试在Android项目中添加到我的AAR依赖项,但这没有解决任何问题,真正的问题是在构建AAR项目时,JAR项目代码没有被捆绑

  • null lib-ThirdPartyProject1.jar-ThirdPartyProject2.jar-ThirdPartyProject3.jar wrapperproject.jar-project1.jar-project2.jar-project3.jar

  • 我还刷新了项目依赖项(右键单击Project->Gradle->Refresh Gradle dependencies),并重新构建了项目。

  • 本文向大家介绍用Maven打成可执行jar,包含maven依赖,本地依赖的操作,包括了用Maven打成可执行jar,包含maven依赖,本地依赖的操作的使用技巧和注意事项,需要的朋友参考一下 因为今天一个朋友学习过程中用到了maven项目编写代码,到了最后打包阶段打的包不能运行,一时我也没想起来具体操作步骤,后来我百度学习了一下,特此记录下,以便后续自己查阅。 maven项目中不可避免的需要用到依