Minecraft插件打包后Jar缺失plugin.yml问题求助
解决Maven打包Spigot插件时Jar缺失plugin.yml的问题
1. 检查plugin.yml的存放位置
Maven对资源文件的默认约定是src/main/resources目录,Spigot要求plugin.yml必须在Jar的根目录下。你需要确保:
- plugin.yml必须放在
src/main/resources文件夹内,而不是和Java类同目录(比如src/main/java/xxx下)或者其他位置。
2. 修正pom.xml的资源配置
打开你的pom.xml,确认build节点下包含正确的资源配置,避免Maven忽略或错误处理plugin.yml:
<build> <!-- 资源文件配置 --> <resources> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <!-- 禁用过滤,防止Maven替换plugin.yml中的变量导致文件损坏 --> </resource> </resources> <!-- 确保maven-jar-plugin没有排除plugin.yml --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.3.0</version> <configuration> <!-- 不要添加排除plugin.yml的规则 --> </configuration> </plugin> </plugins> </build>
如果之前配置了<filtering>true</filtering>,会导致Maven尝试替换plugin.yml中的占位符(比如${version}),可能破坏文件结构,务必改成false。
3. 确认Eclipse的资源目录配置
在Eclipse中,确保src/main/resources被识别为资源源目录:
- 右键项目 → Properties → Java Build Path → Source标签
- 检查列表中是否有
src/main/resources,且类型为「Source Folder」(图标是带包图标的文件夹) - 如果没有,点击Add Folder,选中
src/main/resources添加;或者右键该目录 → Build Path → Use as Source Folder
4. 验证打包结果
执行mvn clean package后,进入项目的target目录,找到生成的Jar文件:
- 在Mac上可以直接双击Jar文件(用Archive Utility打开),查看根目录下是否存在plugin.yml
- 如果Jar内有plugin.yml,再将其放入服务器plugins目录测试;如果仍缺失,重新检查前面的步骤
内容的提问来源于stack exchange,提问作者Caledonian26
相关产品推荐
相关产品推荐

