Не до конца понимаю, в чем разница между java проектами и пакетами в Eclipse IDE. Скажем, есть два проекта: ProjectA и ProjectB. ProjectA содержит класс ClassA, который помещен в package ru.yandex, класс ClassB в свою очередь помещен в package com.google. Почему не работает такой пример кода:
package com.google;
import ru.yandex.ClassA;
public class ClassB {
}
Во второй строчке кода IDE выдает ошибку
"The import ru cannot be resolved"
При этом, если кликнуть правой кнопкой мыши по ProjectB, перейти в Properties/Java Build Path и во вкладке Project добавить ProjectA, то импорт все-таки сработает. Отсюда два вопроса: почему изначально пакет из другого проекта находится не в области видимости программы и как Eclipse после изменения настроек в Build Path расширяет свою область видимости?
Пока вы не создали прогрмму, вы не можете говорить об области видимости программы. То, что касается проектов, то они состоят из исходных текстов .java
и других ресурсов, которые компилируются при построении проекта.
Для компилятора важно знать откуда брать эти исходные файлы и куда помещать .class
файлы, которые получаются после компиляции. Поскольку проекты находятся в разных папках, то компилятор проекта не знает о существовании скомпилированных классов другого проекта, пока вы не добавите этот проект в зависимость (Build Path
).
И когда вы это делаете, то тем самым обновляете конфигурацию Java-проекта, после чего Eclipse автоматически перекопилирует проект и тогда зависимости из другого проекта будут видны, тем самым оичстятся ошибки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Недавно начал работать c vaadin 8, и все никак не получается менять стилиНапример я пишу свой стиль в файл mytheme
Помогите пожалуйста реализовать простейший слайдер на css как на примере