小编Len*_*oko的帖子

java.lang.ClassFormatError:类中的非法字段修饰符

我正在尝试使用环境服务实现一个简单的TabGroup .我的代码看起来像这样:

public class TabPanel
{
  ...
  @Inject
  private Environment environment;
  ...
  void beginRender()
  {
      environment.push(TabContext.class, new TabContext()
      {

          public boolean isActiveTab(String tabId)
          {
             return active != null && active.equals(tabId);
          }

      });
   }

}


public interface TabContext
{
   boolean isActiveTab(String tabId);
}


public class Tab
{
   ...
   @Environmental
   private TabContext tabContext;

   @Inject
   private ComponentResources resources;
   ...

   private boolean isActiveAndEnabled()
   {
      return tabContext.isActiveTab(resources.getId()) && !disabled;
   }

}
Run Code Online (Sandbox Code Playgroud)

执行此代码时,它会抛出以下异常:

java.lang.ClassFormatError: Illegal field modifiers in class TabContext
Run Code Online (Sandbox Code Playgroud)

我在旧线程中找到了部分答案:"......这样的接口不应该在组件包中开始."

我的问题是:我应该在哪里移动TabContext界面?

遵循规则#1我发布整个堆栈跟踪:

java.lang.ClassFormatError: …
Run Code Online (Sandbox Code Playgroud)

java tapestry

3
推荐指数
1
解决办法
3642
查看次数

标签 统计

java ×1

tapestry ×1