- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Kotlin 作为 Spigot 插件(版本 1.8.8),因为我发现 Kotlin 使用起来效率更高。但是,每当我尝试运行该插件时,都会收到此错误:
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
我在网上查了一下,似乎我需要将 Kotlin jar 文件隐藏到我的插件中,有人可以告诉我如何做到这一点吗?
更新 在尝试下面的建议后,我仍然遇到相同的错误。这是我的 build.gradle:
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.31'
id 'com.github.johnrengelman.shadow' version '4.0.2'
}
group 'me.graphicalcake95'
version '1.0.0'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven {
url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/'
}
}
shadowJar {
baseName = 'shadow'
classifier = null
version = null
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compileOnly 'org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT'
shadow "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
最佳答案
您确实需要将 Kotlin 标准库隐藏到您的插件中。由于您使用的是 Gradle,因此可以使用 Shadow Plugin 来完成此操作它与 Shade 类似,但 Shade 仅适用于 Maven,因此它对您没有用处。
使用 Shadow 插件非常简单。首先应用插件本身:
plugins {
id 'com.github.johnrengelman.shadow' version '5.0.0'
}
然后你可以配置Shadow:
shadowJar {
baseName = 'shadow'
classifier = null
version = null
}
当您构建项目时,这将在您的构建文件夹中创建一个 shadow.jar
。应用 Shadow 插件后,您可以将 shadow
依赖项包含在 fat jar 中:
dependencies {
shadow "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
}
关于java - 如何将 Kotlin 与 Bukkit/Spigot 插件和 Gradle 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56434280/
我正在为我的 Minecraft 1.8.8 服务器制作一个经济系统,因为每次重新加载服务器时 HashMap 都会重置(删除每个人的 $ 数据),所以我尝试使用配置文件。我遇到的一个问题是我的服务器
我制作了一个注册事件的插件,我想制作一个取消注册它的命令,我该怎么做,我已经搜索了2个小时,但什么也没找到。我想让/Pvpeventon 启动事件并/Pvpeventoff 关闭它这是我已经编写的代码
我正在使用 Spigot 1.11.2。 我有这个简单的代码: @EventHandler public void onPlayerInteractEntity (PlayerInteractEnti
我有一个关于如何在具有随机大小和山丘的世界中生成随机生物群落的问题。 例如,如果我有平原生物群落,最大噪声高度为 8,而在山地生物群落中,最大噪声高度为 64,并且这些生物群落之间的过渡会平滑。 我已
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
我试图做到这一点,当您单击一个标志时,它会显示“输入您的标签”,然后您输入您的标签,然后它会显示“输入您的括号颜色”,然后您输入您的括号颜色,然后输入您的命名颜色,然后聊天颜色。它有效,但有时括号颜色
我的命令(具体来说只有我的 cmd2 命令) 未注册,并且当我启动服务器时控制台会显示错误。另一个命令 cmd1 有效,但 cmd2 无效。我真的不知道为什么,所以我来这里寻求帮助。 我的一些主要类(
我的 spigot 插件不起作用。在控制台上,它说插件已启用,但我无法运行插件中的命令。请帮忙。 这是Plugin.java的主要代码 package lol.quacnooblol.mypvpplu
所以我创建了这个小插件,我想知道如何将代码从 onCommand 内部移动到另一个类并在 onCommand 内部调用/执行该类。请帮忙。谢谢 public class SkinStandoff ex
我正在使用这个: public void onPlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) { event.
我想制作一个插件,计算玩家的生命。例如每个玩家都有 3 条生命。每当他死时,他就失去了一条生命。当他的生命达到 0 时,他就会被禁止。 我的方法是这样的 public class OnPlayerDe
我正在尝试制作一个具有“全局”配置文件的插件。现在,我正在尝试使用插件消息传递通过字符串将整个配置文件发送到另一台服务器。我已按照 https://www.spigotmc.org/wiki/bukk
我翻译了以下C++代码: #include using namespace std; #define NDIGITS 100 #define LEN (NDIGITS/4+1)*14 long a[
我对正确的 vector 对齐有疑问。我想得到一个指向与玩家相同方向的 vector ,但 Y 值为 0。关键是,无论玩家的垂直和水平旋转, vector 的 Y 值为 0。 vector 始终应该指
在服务器上生成新世界时,是否有办法从 WorldCreator 中删除某些生物群落(例如丛林)?我试图仅禁用一个世界中的生物群落,而不是禁用所有生物群落(网上的大多数示例似乎都在这样做)。有什么办法可
我一直在制作一个 bukkit 插件,它显示在插件列表中,但是当我执行我希望代码执行的操作时,什么也不会发生。 public class MyClass extends JavaPlugin impl
大约一周前,我决定学习编写 Minecraft 插件,所以我尝试遵循本指南: 我将测试插件加载到我电脑上的 spigot 1.12 服务器中,但出现了很多错误: [15:58:22 错误]:无法加载“
我的项目内的一个目录中有多个语言文件。这些语言文件基本上是自定义配置文件,我也想将其保存在我的插件文件夹的子文件夹中。 我已经编辑了 pom.xml 以将 .yml 文件实现到压缩的 .jar
我正在使用 spigot 制作游戏模式。这是一个spleef游戏模式,我使用WorldEdit来恢复 map 。然而,脾脏中的 block 是床。我使用原理图恢复这些床,我只是使用粘贴 EditSes
public HelloCommand(Main plugin) { this.plugin = plugin; plugin.getCommand("tptest")
我是一名优秀的程序员,十分优秀!