为了账号安全,请及时绑定邮箱和手机立即绑定

任务“:compileJava”执行失败

任务“:compileJava”执行失败

偶然的你 2023-09-27 16:28:47
我正在尝试制作一个 Minecraft 模组,它应该能让蝙蝠掉落生鸡肉。Minecraft 确实启动并实际打开,但是当它进入compileJava 阶段时,控制台中会显示错误。我对Java的了解很少,所以我不知道如何总结它。我的问题是这些错误消息是什么意思以及如何纠正它们?我也问过一些同事这个问题,但他们也不知道。//NOTE TO SELF: Learn to indent.package net.mcreator.trevcorp_meat_paste;import net.minecraftforge.fml.relauncher.SideOnly;import net.minecraftforge.fml.relauncher.Side;import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;import net.minecraftforge.fml.common.eventhandler.EventPriority;import net.minecraftforge.fml.common.event.FMLInitializationEvent;import net.minecraftforge.common.MinecraftForge;import net.minecraftforge.client.event.RenderGameOverlayEvent;import net.minecraft.world.World;import net.minecraft.entity.player.EntityPlayer;import net.minecraft.client.Minecraft;import net.minecraft.entity.passive.EntityBat;public static class GUIRenderEventClass{@SubscribeEventpublic void playerKilledBat(livingDropsEvent event)   {      if(event.entityLiving instanceof EntityBat)      {         event.drops.clear();         itemStack itemStackToDrop = new itemStack(items.chicken, 1);         event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX,               event.entity.posY, event.entity.posZ, itemStackToDrop));      }}}
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

第一条错误消息,

class GUIRenderEventClass is public, should be declared in a file named GUIRenderEventClass.java public static class GUIRenderEventClass

表示您的 Java 源代码所在的文件的名称与源代码中的 Java 类名称不匹配。Java 源文件名和文件中类的 Java 类名必须匹配。这就是 Java 编译器查找事物的方式。

您还会遇到许多相同类型的错误,如下所示:

 C:\Users\USER\MCreatorWorkspaces\trevcorp_meat_paste\build\sources\main\java\net\mcreator\trevcorp_meat_paste\MCreatorBatMeat.java:18: error: cannot find symbol public void playerKilledBat(livingDropsEvent event)

这意味着当 Java 编译器处理源代码时,它会发现它不知道的某种符号、类型或名称。这是一个错误,表示 Java 编译器搜索时找不到所指示的符号、类型或名称。

发生这种情况有几个原因。

最常见的情况是import包含符号、类型或名称的文件缺少指令。这是涉及类型的“未找到符号”错误的最可能原因。看起来您有几种“未找到符号”的情况,这可能是由于缺少import文件造成的,例如:

  • class livingDropsEvent是不是找不到该符号

  • class itemStack是不是找不到该符号

  • class EntityItem是不是找不到该符号

items也没有找到该变量。我认为它也是可能在文件中某处的全局变量import

此代码指令集import

  import net.minecraft.block.Block;

   import net.minecraft.block.material.Material;

   import net.minecraft.creativetab.CreativeTabs;

   import net.minecraft.entity.boss.EntityWither;

   import net.minecraft.entity.item.EntityItem;

   import net.minecraft.init.Items;

   import net.minecraft.item.Item;

   import net.minecraft.item.ItemStack;

   import net.minecraft.util.WeightedRandomChestContent;

   import net.minecraftforge.common.ChestGenHooks;

   import net.minecraftforge.common.util.EnumHelper;

   import net.minecraftforge.event.entity.living.LivingDropsEvent;

最后你有一些警告:


Note: Some input files use or override a deprecated API.

Note: Recompile with -Xlint:deprecation for details.

Note: Some input files use unchecked or unsafe operations.

Note: Recompile with -Xlint:unchecked for details.

这些警告可能重要也可能不重要。如果它们来自您从某个图书馆使用的某个来源,您可能无法解决这些问题。无论这些警告如何,您的应用程序都可以正常运行。


查看完整回答
反对 回复 2023-09-27
  • 1 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信