"Invalid plugin.yml" 关于启用 Bukkit 插件的消息

"Invalid plugin.yml" message on enable of Bukkit plugin

我正在开发我的第一个 Bukkit 插件。这是我在 eruverio.EruvPlg 包中的 main class:

package eruverio.EruvPlg;

import org.bukkit.plugin.java.JavaPlugin;

public final class main extends JavaPlugin {

}

这里是 plugin.yml:

name: Test
main: eruverio.EruvPlg.main
version: 1.0

项目结构:

| Project
----| src/main/java
|   ----| eruverio.EruvPlg (Package)
|       ----| main.java
|           ----| main (class)
|
----| src/main/resources
|   ----| plugin.yml
|
----| pom.yml

'pom.yml':

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>eruverio.EruvPlg</groupId>
  <artifactId>main</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.7</source>
                  <target>1.7</target>
              </configuration>
          </plugin>
      </plugins>
   </build>
   <repositories>
       <repository>
         <id>bukkit-repo</id>
         <url>http://repo.bukkit.org/content/groups/public/</url>
       </repository>
   </repositories>
   <dependencies>
       <dependency>
           <groupId>org.bukkit</groupId>
           <artifactId>bukkit</artifactId>
           <version>1.7.2-R0.2</version>
           <type>jar</type>
           <scope>provided</scope>
       </dependency>
   </dependencies>
</project>

当我 运行 在 Bukkit 服务器上导出 JAR 文件时,它抛出异常:

    [14:09:14] [Server thread/ERROR]: Could not load 'plugins\EruvPlg.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:247) ~[bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:255) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.<init>(CraftServer.java:233) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.PlayerList.<init>(PlayerList.java:63) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.DedicatedPlayerList.<init>(SourceFile:14) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:126) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [bukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml

... 9 more

我该如何解决这个问题?

'plugin.yml'文件必须放在项目的主文件夹中。

| Project
----| src/main/java
|   ----| eruverio.EruvPlg (Package)
|       ----| main.java
|           ----| main (class)
|
----| src/main/resources
|
----| plugin.yml
|
----| pom.yml

您似乎已正确设置所有内容,但根据上一条消息,它似乎没有看到您的 plugin.yml "Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml"。

还有,项目名称是Test吗?我很确定 plugin.yml 中的 Name: 必须与实际项目名称匹配。我只看到您将项目称为项目而不是测试。

有些编辑不直接把你的plugin.yml...下载下来或者保存后用7zip之类的程序打开放进去如果你没有plugin.yml,使用 bukkit.org wiki 查找有关如何使用它的完整教程。