Search code examples
javayamlbukkit

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


I'm working on my first Bukkit plugin. Here's my main class in the eruverio.EruvPlg package:

package eruverio.EruvPlg;

import org.bukkit.plugin.java.JavaPlugin;

public final class main extends JavaPlugin {

}

And here's the plugin.yml:

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

Project structure:

| 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>

When I run exported JAR file on a Bukkit server, it throws an exception:

    [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

How can I fix this?


Solution

  • The 'plugin.yml' file must be placed in the main folder of the project.

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