очистить и построить не удалось в NetBeans - PullRequest
0 голосов
/ 27 марта 2012


Я создаю проект в среде IDE Netbeans 6.9 В проекте у меня есть интерфейс IBusinessLogic Во втором проекте я создал класс BusinessLogic, который реализует IBusinessLogic. В третьем проекте я создаю объект BusienssLogic и назначаю этот объект для ссылки на IBusinessLogic. Я не получаю никакой ошибки во время записи, но когда Я убираю и строю этот третий проект, я получаю исключение, которое приведено ниже:

incompatible types
found   : com.abc.businesslogic.BusinessLogic
required: com.abc.businesslogic.interfaces.IBusinessLogic
                com.abc.businesslogic.interfaces.IBusinessLogic logic = bl;
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.
1 error
D:\ProjectsFeb12\Service\nbproject\build-impl.xml:531: The following error occurred while executing this line:
D:\ProjectsFeb12\Service\nbproject\build-impl.xml:261: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 3 seconds)

Поскольку я знаю, что я могу назначить объект подтипа в ссылке на супертип, тогда это исключение должно быть из IDE. Как я могу решить это? Я переместил весь свой код в новый проект, но он не сработал.

Код:

package com.abc.workerhandlers;

import com.abc.businesslogic.BusinessLogic;
import com.abc.businesslogic.interfaces.IBusinessLogic;

public class MQ2MQWorker1 {

    MQ2MQWorker1(){}

    public void init(){

                BusinessLogic bl = new BusinessLogic();
                IBusinessLogic logic = bl;  // This line is giving problem
    }
}

Когда я запускаю проект, он выполняется отлично, но в каталоге dist не создается банка проекта.

1 Ответ

0 голосов
/ 27 марта 2012

Вы уверены, что правильный класс находится в classpath? Btw, Вы не должны писать

 BusinessLogic bl = new BusinessLogic();
IBusinessLogic logic = bl;  // This line is giving problem

но вместо этого просто IBUsinessLogic logic = new BusinessLogic();

...