Java EJB中的抽象类错误

Java EJB中的抽象类错误,java,jakarta-ee,Java,Jakarta Ee,我想问一下如何解决CacheBean中的问题。它使用我的自定义EJBTestObject来存储时间。此类通过pom.xml中的依赖项与maven项目相关联 我仍然会遇到错误: wipb/jee/clientdemo/ejb/CacheBean.java:[17,8] wipb.jee.clientdemo.ejb.CacheBean is not abstract and does not override abstract method add(java.lang.String,java.la

我想问一下如何解决CacheBean中的问题。它使用我的自定义EJBTestObject来存储时间。此类通过pom.xml中的依赖项与maven项目相关联

我仍然会遇到错误:

wipb/jee/clientdemo/ejb/CacheBean.java:[17,8] wipb.jee.clientdemo.ejb.CacheBean is not abstract and does not override abstract method add(java.lang.String,java.lang.Object) in wipb.jee.clientdemo.ejb.CacheBeanRemote
wipb/jee/clientdemo/ejb/CacheBean.java:[39,5] method does not override or implement a method from a supertype
2 errors 
EJBTestObject:

public class EJBTestObject {

private String content;
private long lastAccess;

public EJBTestObject(String content, long lastAccess) {
    this.content = content;
    this.lastAccess = lastAccess;
}
..getters and setters

}
CacheBean:

@Singleton
public class CacheBean implements CacheBeanRemote {
private Map<String, EJBTestObject> cache = new HashMap<>();

@Override
public EJBTestObject get(String key) {
    System.out.println("Cache.get called");
    return cache.get(key);
}

@Override
public boolean contains(String key) {
    System.out.println("Cache.contains called");
    return cache.containsKey(key);
}

@Override
public EJBTestObject remove(String key) {
    System.out.println("Cache.remove called");
    return cache.remove(key);
}

@Override
public void add(String key, EJBTestObject value) {
    System.out.println("Cache.add called");
    cache.put(key, value);
}
}

我注意到,当我在add方法中不使用EJBTestClass时,一切都很好。

将/add
public void add(字符串键,EJBTestObject…
更改为
public void add(字符串键,对象…
)!很好,我真的很感激。你能解释一下这里到底发生了什么吗?既然你
实现了一个(外部)接口,你就可以“契约”提供其方法。这是通过(编译器)参数的“方法签名”(=名称、返回类型、类型和索引(不是名称))来确保的。
    @Remote
public interface CacheBeanRemote {

void add(String key, EJBTestObject value);

EJBTestObject get(String key);

boolean contains(String key);

EJBTestObject remove(String key);

}