我正在开发我的第一个Bukkit插件。这是我在main
包中的eruverio.EruvPlg
课程:
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
我该如何解决这个问题?
答案 0 :(得分:0)
&#39; plugin.yml&#39;文件必须放在项目的主文件夹中。
| Project
----| src/main/java
| ----| eruverio.EruvPlg (Package)
| ----| main.java
| ----| main (class)
|
----| src/main/resources
|
----| plugin.yml
|
----| pom.yml
答案 1 :(得分:0)
看起来你已经正确设置了所有内容,但根据最后一条消息,它看起来没有看到你的plugin.yml“引起:java.io.FileNotFoundException:Jar不包含plugin.yml”。
另外,项目名称Test是?我很确定plugin.yml中的Name:必须与实际的项目名称相匹配。我只看到你将项目称为Project而不是Test。
答案 2 :(得分:0)
有些编辑不直接添加你的plugin.yml ...下载或保存它并使用像7zip这样的程序打开它并把它放进去。如果你没有plugin.yml ,使用bukkit.org wiki查找有关如何使用它的完整教程。
答案 3 :(得分:-1)
您还需要将主要课程放在主要课程中。 所以它会是:
main: eruverio.EruvPlg.main.main