JavaPlugin 无法解析为类型

JavaPlugin cannot be resolved to a type

我想在 eclipse IDE 中使用 Java 编写 1.18.2 Minecraft 插件。我很确定我对所有内容都使用最新版本。我正在使用教程,当它说要将其放入时:

public class Main extends JavaPlugin {

Java插件下显示一条红线,表示无法解析为类型。我应该导入这个:

import org.bukkit.plugin.java.JavaPlugin;

我用谷歌搜索的所有内容都说将 spigot jar 放入项目属性 > 构建路径 > 库 > 添加外部 jar,我已经这样做了,但它仍然不起作用。

最好使用maven or gradle这样的平台。自 Spigot 1.17(包括)以来,使用 spigot 构建作为构建路径库并不容易。

所有可能性的详细信息:

  1. 使用直接文件。不推荐。

自 1.17 包含以来,spigot jar 包含其他 jar,当您 运行 服务器时,它会将它们全部复制到文件夹中。因此,每个文件都包含部分完整的 spigot 代码:

  • bundler/libraries 包含所有基本库,例如您想要的:spigot-api-1.18.jar 或 mysql 连接器。
  • bundler/versions 包含 spigot 的 NMS 部分。最好不要使用它,但有时它是做你想做的事情的唯一方法。

这些文件(在 bundler 文件夹中)可以在 eclipse 中导入,就像您为全局 spigotmc 所做的那样。

  1. 使用 Maven (documentation),并将其添加到您的 pom.xml 文件中:
<repositories>
    <!-- This adds the Spigot Maven repository to the build -->
    <repository>
        <id>spigot-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
    </repository>
</repositories>

<dependencies>
    <!--This adds the Spigot API artifact to the build -->
    <dependency>
           <groupId>org.spigotmc</groupId>
           <artifactId>spigot-api</artifactId>
           <version>1.18.2-R0.1-SNAPSHOT</version>
           <scope>provided</scope>
    </dependency>
</dependencies>

现在,要构建您的项目,您可以:右键单击项目 -> 运行 As -> Maven build

  1. 使用 Gradle (documentation),并将其添加到您的 build.gradle 文件中:
repositories {
   maven { url = 'https://oss.sonatype.org/content/repositories/snapshots' }
}
dependencies {
  // Pick only one of these and read the comment in the repositories block.
  compileOnly 'org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT'
}

要构建您的项目,您应该创建一个新任务(在顶部,运行 基本 Java 项目所在的位置)并根据需要对其进行配置。 More informations

您需要使用 BuildTools,您可以在这里获取它:https://www.spigotmc.org/wiki/buildtools/

照他们说的做,最后,你会在spigot/spigot-api/target文件夹中得到一个名为'spigot-api-$(version)-R0.1-SNAPSHOT-shaded.jar'的文件,这就是你需要放在构建路径中的文件

如果您需要更多帮助,没问题!