Компиляция только одного класса в проекте - PullRequest
7 голосов
/ 29 ноября 2011

У меня сборка автоматически отключена, и я хочу собрать только один класс (для отладки). Это возможно? Другие классы уже скомпилированы в каталоге сборки, но они могут не компилироваться в Eclipse.

Ответы [ 3 ]

3 голосов
/ 29 ноября 2011

Я думаю, что вы можете, зайдя в меню Project и выбрав Build Working Set -> Select Working Set.

Выберите new, присвойте вашему набору имя, затем выберите только один класс, который вы хотите построить.После этого он должен создать.

В следующий раз, когда вы захотите построить, перейдите в меню Проект и выберите Создать рабочий набор -> и имя созданного набора.

1 голос
/ 29 ноября 2011

Я думаю, что Eclipse достаточно умен, чтобы перекомпилировать только те классы, которые вы каким-то образом изменили (даже если другие классы не могут быть скомпилированы).Поэтому, если вы включите автоматическую сборку, отредактируете класс и сохраните его, Eclipse перекомпилирует именно это.Я сомневаюсь, что Eclipse перескомпилирует всю базу кода, если вы, например, переименуете одну из ваших переменных в данном классе.

Суть: придерживаться автоматического построения .

Если у вас есть какой-то особый вариант использования, было бы хорошо знать, что это такое.Кроме этого ответ Джеймса может быть вашим лучшим выстрелом.


Я создал небольшой пример проекта Maven для себя в Eclipse (хотя это проект Maven, автоматическая сборка Eclipseработает нормально, как в Java-проекте, никакой магии там нет.

.
|-- pom.xml
|-- src
|   `-- main
|       `-- java
|           |-- A.java
|           `-- B.java // B contains erroneous "stuff"
`-- target
    `-- classes
        |-- A.class // A compiles without a word
        `-- B.class // even though it contains errors 
                    // B compiles too ... weird

(Обратите внимание, что в окне проводника пакетов / проектов под целевой папкой ничего не указано. Я, возможно, воображаю вещи,но обычно там перечислены классы и другие вещи ... не уверен.)

0 голосов
/ 10 августа 2014

По какой-то причине Eclipse не перестраивал мои классы при использовании JRebel и автоматическом отключении, когда я выбираю Build Project. В качестве обходного пути я добавил метод main, сослался на другой класс, который я хотел построить (напечатав OtherClass.class в sys out в main), а затем запустил метод main с помощью Run as Standalone.

Часть из 2 файлов веб-приложения. Поэтому после компиляции у кота появились новые файлы классов, и мне не нужно было перезапускать (это занимает 15 минут из-за большого количества модулей)

...