'Annotations are not allowed here'

'Annotations are not allowed here'

我正在创建一个 Forge 1.12.2 mod 但在我的主要 class 中

@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS);
    public static CommonProxy proxy;

它给出了以下错误:

Annotations are not allowed here: 18
Identifier or type expected: 18

更多信息:

package com.pironielsje.furge;

import com.pironielsje.furge.proxy.CommonProxy;
import com.pironielsje.furge.util.Reference;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.*;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;

@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME)
public class FurgeMod {
    @Instance
    public static FurgeMod instance;

    @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS);
    public static CommonProxy proxy;

    @EventHandler
    public void Init(FMLInitializationEvent event) {

    }

    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {

    }

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {

    }

    @EventHandler
    public void serverInit(FMLServerStartingEvent event) {

    }
}

这是我的主要class

package com.pironielsje.furge.util;

public class Reference {
    public static final String MOD_ID = "furge";
    public static final String VERSION = "0.1";
    public static final String MC_VERSION = "[1.12.2]";
    public static final String MOD_NAME = "Furge Mod";

    public static final String CLIENT_PROXY_CLASS = "";
    public static final String COMMON_PROXY_CLASS = "";
}

这是我的参考资料class

删除注释后的分号。

错误 Identifier or type expected: 18 反映了必须将注释应用于声明的事实,就像

的情况一样
@SidedProxy(...)
public static CommonProxy proxy;

杂散的分号将其拆分为两个单独的语句。第一个是带有预期(但缺失)identifier/type 的无效注解(对于它要注解的声明),第二个是 public static CommonProxy.[=13 的格式正确但未注解的声明=]