Реализация проблемы интерфейса после переключения с Tomcat 7 на JBoss 4.2.1 - PullRequest
0 голосов
/ 19 сентября 2011

Я создал динамический веб-проект в Eclipse, используя tomcat 7 (и я использовал динамический веб-модуль версии 3.0 и JSF 2.0).Теперь, когда мне пришлось переключиться с tomcat 7 на JBoss 4.2.1, кажется, что есть какая-то проблема совместимости, потому что JBoss не позволяет использовать динамический веб-модуль версии 3.0, но 2.5 и JSF 1.2 вместо JSF 3.0, который я использовал.Поэтому, когда я пытался развернуть свой старый проект в новом проекте, который будет использовать JBoss, появилась эта странная ошибка:

У меня есть класс DBManager, который реализует 2 интерфейса (UserManageable и CategoryManageable).В UserManageable у меня есть метод void doInsert(User user), doUpdate(User) и т. Д., Но eclipse сообщает мне, что произошла ошибка, и предлагает 2 решения: 1-ое для удаления аннотации @Override и 2-е для создания doInsert(User) в другом интерфейсе,Если я удалю другой интерфейс, он просто предложит мне 1-е решение.

Вот класс и интерфейсы.

import jsfDP.interfaces.CategoryManageable;
import jsfDP.interfaces.UserManageable;

public class DBManager implements UserManageable, CategoryManageable{

    @Override
    public void doInsert(User user) {
        // here I get 
        // The method doInsert(User) of type DBManager must override a superclass method
        // 2 quick fixes available: 
        // Create doInsert() in supertype 'CategoryManageable'
        // Remove '@Override' annotation
        ....
    }
    ....
}

Интерфейс UserManageable:

import java.util.List;
import jsfDP.beans.User;

public interface UserManageable {
    void doInsert(User user);
    void doUpdate(User user);
    void doDelete(User user);

    User getUserById(int userId);
    List<Integer> getUserIds();
    List<User> getAllUsersInList();
}

Интерфейс CategoryManageable:

package jsfDP.interfaces;

import java.util.List;
import jsfDP.beans.Category;

public interface CategoryManageable {
    List<Category> getCagegories();

}

1 Ответ

0 голосов
/ 19 сентября 2011

Если вы используете JBoss с Java 1.5 (и так кажется), вам нужно удалить аннотацию. @Override аннотация для интерфейсов - это функция Java 6 и новее.

...