Среда разработки Eclipse
СОДЕРЖАНИЕ
Введение 3
1 Установка 5
2 Интерфейс 7
2.1 Приложение - пример 7
2.2 Добавление кода 11
2.3 Запуск кода и отладка 17
3 Структура и состав Eclipse 20
4 Архитектура платформы Eclipse 21
Заключение 22
Библиографический список 23
Введение
Eclipse - это расширяемая среда разработки (Integrated Development Environment, далее IDE) с открытым исходным кодом (далее OpenSource). Проект был запущен в ноябре 2001 года, когда IBM передала исходный код своего Websphere Studio Workbench стоимостью 40 миллионов долларов на OpenSource и сформировала консорциум Eclipse для управления продолжающейся разработкой.
Цель создания Eclipse была сформулирована следующим образом: "разработать богатую, полнофункциональную индустриальную платформу коммерческого качества для разработки сильно-интегрированных инструментов". Для достижения этой цели консорциум нацелен на три главных проекта:
1. Проект The Eclipse непосредственно Eclipse IDE ("платформы", содержащей и исполняющей инструменты Eclipse), инструментов разработки для Java (Java Development Tools, далее JDT) и среды разработки Plug-In (Plug-In Development Environment, далее PDE), позволяющих расширять платформу.
2. Проект Eclipse Tools имеет своей целью создание инструментов для платформы Eclipse (в текущей разработке находятся подпроекты создания IDE для Cobol, IDE для C/C++, а также инструмента для построения EMF моделей).
3. Проект The Eclipse Technology ответственен за технологические разработки, эволюцию и обучение использованию платформы Eclipse.
Платформа Eclipse в сочетании с JDT включает многие из возможностей, которые включаются в коммерческие IDE: редактор с подсветкой синтаксиса, инкрементальная компиляция кода, потокобезопасный отладчик, навигатор по классам, менеджеры файлов и проектов, а также интерфейсы к стандартным системам контроля исходных текстов, таким как CVS и ClearCase.
Проект Eclipse представляет собой первую столь мощно поддержанную мировым IT-сообществом попытку создания единой открытой интегрированной платформы разработки приложений, обладающей надежностью, функциональностью и уровнем качества коммерческого продукта. Фактически эта платформа представляет собой основу, имеющую блочную структуру и интегрирующую инструменты разработки ПО различных производителей для создания приложений на любом языке, с использованием любых технологий и для любой программной платформы. Вокруг проекта Eclipse в настоящее время сформировано сообщество крупнейших IT-компаний, среди которых Borland, IBM, SAP AG, RedHat и другие.
Также Eclipse предлагает множество уникальных возможностей, например рефакторинг кода, автоматическое обновление/установка кода (с помощью Менеджера Обновлений), список текущих задач, отладку модулей с помощью JUnit и интеграцию с инструментом компоновки Jakarta Ant.
Несмотря на большое
число стандартных
Консорциум предоставляет готовые исполняемые файлы для Windows, Linux, Solaris, HP-UX, AIX, QNX и Mac OS X. Большой интерес в Eclipse представляет plug-in архитектура, а также богатый API, предоставляемый PDE, позволяющий расширять Eclipse. Добавление поддержки для нового редактора, представления или языка программирования является достаточно простым, благодаря грамотно разработанным API и большим строительным блокам, предоставляемым Eclipse.
Учитывая сотни проектов по разработке plug-in, ведущихся в настоящее время, таких индустриальных гигантов как IBM, HP и Rational, предоставляющих ресурсы, а также проектных тяжеловесов вроде Erich Gamma, помогающих направлять процесс эволюции в нужное русло - у Eclipse большое будущее.
1 Установка
Eclipse написана на Java, поэтому для работы
требуется Java Runtime Environment (java-машина). Дистрибутив
можно взять на сайте фирмы Sun: http://java.sun.com
Теперь можно приступать к самой установке, хотя «установка» — громко сказано. Достаточно просто распаковать zip-архив в нужную папку, скажем C:\Program Files\Eclipse, и все — среда готова к использованию. Для сохранения настроек Eclipse использует файловую систему, а не реестр, поэтому для разных языков программирования можно установить Eclipse в разные папки, но ничто не мешает поставить плагины для нескольких языков и на один экземпляр среды.
Если вы верно установили вашу JVM и правильно распаковали архив, то вы готовы к первому запуску Eclipse. Во всех распространяемых версиях имеется запускающее приложение. Название загрузчика eclipse.exe. Для запуска Eclipse нужно написать файл .bat с двумя строчками, в первой из которых указывается путь к установленной Java VM, а во второй вызывается сам загрузчик eclipse.exe, собственно теперь запуск Eclipse происходит через .bat файл. Например:
set PATH=C:\j2sdk1.4.2_04\bin
eclipse.exe.
Рисунок 1 Запуск Eclipse
При первом запуске
загрузчика Eclipse перед появлением самой
среды выполняется ряд
Рисунок 2 Создание директории workspace для хранения файлов проектов
2 Интерфейс
После того, как вы установили и запустили Eclipse, пришло время его использовать. После первого запуска вы должны увидеть окно, похожее на это:
Рисунок 3 Первоначальный вид окна Eclipse
Как вы можете видеть у Eclipse довольно стандартное меню:
Рисунок 4 Меню
и панель инструментов:
Рисунок 5 Панель инструментов
2.1 Приложение - пример
На экране присутствуют Файловый Навигатор (Navigator), Список Текущих Задач (Tasks) и Группировщик Кода (Outline), но пока что не содержат никакой информации. Для продолжения нашего исследования Eclipse, мы создадим простое приложение калькулятора на базе Swing.
1. Чтобы начать создание
первого Java-проекта, выберите File->New->Project...
Рисунок 6 Первая страница мастера Нового Проекта
2. В качестве названия проекта введите Calculator и снова нажмите Next. Можно указать место для хранения исходных и скомпилированных файлов, а также создать отдельные каталоги для таких файлов.
Рисунок 7 Вторая страница мастера Нового Проекта
3. Последний шаг мастера позволяет указать место для хранения исходных и скомпилированных файлов, а также задать любые подпроекты и библиотеки, которые могут понадобиться для работы и компоновки текущего проекта.
Рисунок 8 Третья страница мастера Нового Проекта
4. Щелкните на кнопке Finish. В появившемся окошке предлагающем переключить перспективу жмем на YES и Eclipse создаст новый проект.
После создания
проекта, вы можете обратить внимание
на то, что окно Eclipse выглядит не совсем
так, как вначале: представление Outline
Рисунок 9 Перспектива Java
Новый внешний вид носит название Перспективы Java. Перспектива, в терминах Eclipse, это сохраняемый внешний вид окна, включающий любое число редакторов (editors) и представлений (views). В поставку Eclipse входит несколько перспектив по умолчанию (Java, Debug, Resource и так далее), которые можно настраивать. Вы также можете создавать новые перспективы. Перспективы управляются с помощью элементов меню Window или панели инструментов, которая обычно располагается вдоль левой границы окна Eclipse.
Следующим шагом в создании нашего Java проекта станет создание папок, в которых будет содержаться исходный код. Переключитесь в перспективу ресурсов (Resource) с помощьюWindow->Open Perspective->Other. В представлении Навигатора Файлов раскройте дерево папок и найдите узел src. Выберите этот узел, а затем пункт меню File->New->Folder. В открывшемся диалоге убедитесь, что выбрана папка src, затем введите com в поле Folder Name.
Создание большого
числа папок с использованием
диалога New Folder может показаться несколько
неудобным. К счастью, Eclipse позволяет сделать
эту работу, используя методы, принятые
в вашей операционной системе: командную
оболочку, Windows Explorer и так далее. Воспользуйтесь
одним из этих методов и создайте подпапки devious и calculator
Рисунок 10 Создание папок завершено
И последнее замечание
по созданию файлов: на ранних этапах разработки
проекта вы можете столкнуться с
необходимостями часто
2.2 Добавление кода
Теперь, когда
мы построили структуру папок, мы
можем начать добавлять код к
нашему проекту. Мы разделим нашу программу
калькулятора на три отдельных файла
кода: CalcMode.java,CalcPanel.
CalcModel.java
package com.devious.calculator;
import java.util.Observable;
public class CalcModel extends Observable
{
public static final int OP_NONE = 0; public static final int OP_ADD = 1;
public static final int OP_SUB = 2; public static final int OP_MUL = 3;
public static final int OP_DIV = 4;
private int pendingOp = 0; private int previousValue = 0;
private int currentValue = 0; public String getValue()
{
return Integer.toString(currentValue)
}
public void addDigit(String s)
{
char c = s.charAt(0);
String val = getValue() + c;
setDisplay(Integer.parseInt(
}
public void addDigit(char c)
{
String val = getValue() + c;
setDisplay(Integer.parseInt(
}
public void setOperation(int op)
{
if (pendingOp != OP_NONE)
calculate();
previousValue = currentValue; this.pendingOp = op; currentValue = 0;
}
public void setDisplay(int value)
{
currentValue = value; setChanged(); notifyObservers();
}
public void clear()
{
this.pendingOp = OP_NONE; previousValue = 0; setDisplay(0);
}
public void calculate()
{
switch (pendingOp)
{
case OP_ADD:
setDisplay(previousValue + currentValue);
break;
case OP_SUB:
setDisplay(previousValue + currentValue);
break;
case OP_MUL:
setDisplay(previousValue * currentValue);
break;
case OP_DIV:
setDisplay(previousValue / currentValue);
break;
}
pendingOp = OP_NONE;
previousValue = 0; }}
CalcPanel.java
package com.devious.calculator;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class CalcPanel
extends JPanel
implements ActionListener, Observer
{
private CalcModel model;
private JLabel display = new JLabel("0");
public CalcPanel(CalcModel model)
{
super(); this.model = model; model.addObserver(this);
}
protected JButton addButton(String label)
{
JButton b = new JButton(label); b.addActionListener(this); return b;
}
protected JPanel createButtonPanel()
{
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(0, 4));
panel.add(addButton("1")); panel.add(addButton("2")); panel.add(addButton("3"));
panel.add(addButton("+")); panel.add(addButton("4")); panel.add(addButton("5"));
panel.add(addButton("6")); panel.add(addButton("-")); panel.add(addButton("7"));
panel.add(addButton("8")); panel.add(addButton("9")); panel.add(addButton("*"));
panel.add(addButton("C")); panel.add(addButton("0")); panel.add(addButton("="));
panel.add(addButton("/"));
return panel;
}
public void init()
{
this.setLayout(new BorderLayout());
display.
display.
display.setVerticalAlignment(
display.
display.setBorder(
this.add(display, BorderLayout.NORTH);
this.add(createButtonPanel(), BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent evt)
{
System.out.println(evt.
try {
switch (evt.getActionCommand().
case '+':
model.setOperation(CalcModel.
break;
case '-':
model.setOperation(CalcModel.
break;
case '*':
model.setOperation(CalcModel.
break;
case '/':
model.setOperation(CalcModel.
break;
case '=':
model.calculate();
break;
case 'C':
model.clear();
break;
default:
model.addDigit(evt.
break;
}
} catch (NumberFormatException ex) {}
}
public void update(Observable o, Object arg)
{
display.setText(model.
Calculator.java
package com.devious.calculator;
import javax.swing.*;
public class Calculator
{
public static void main(String[] args)
{
try {
UIManager.setLookAndFeel(
UIManager.
} catch (Exception e) {}
JFrame calcFrame = new JFrame("Calculator");
CalcModel model = new CalcModel();
CalcPanel calcPanel = new CalcPanel(model);
calcPanel.init();
calcFrame.setContentPane(
calcFrame.
calcFrame.pack();
calcFrame.setVisible(true); }}
Создайте и
поместите эти файлы в
Рисунок 11 Проект с добавленными исходными файлами
CalcPanel.java обрабатывает большую часть
пользовательского интерфейса нашего
калькулятора. Calculator.java
При использовании Package Explorer для просмотра исходного кода вы можете заметить, что представление группировки кода является избыточным. Чтобы его закрыть, нажмите на значок х в заголовке его окна. При необходимости отобразить его снова, используйте команду меню Window->Show View->Outline.
Рисунок 12 Перспектива просмотра Java Browsing
2.3 Запуск кода и отладка
Итак установили Eclipse, создали Java-проект, добавили папки и файлы, необходимые для работы простого приложения. Самое время посмотреть, как оно будет работать. Для выполнения последующих инструкций по запуску приложения вам нужно будет перейти в перспективу Java:
1. Из меню Run выберите элемент Run...
2. В появившемся диалоге из списка Конфигураций Запуска (Launch Configurations) выберите "Java Application", затем нажмите на кнопку New.
Рисунок 13 Диалог Run
3. Введите Calculator в качестве имени (Name) новой конфигурации.
4. Нажмите кнопку Search... и
выберите Calculator в качестве главного класса
(Main Class) введите в текстовом поле com.delirious.calculator.
Рисунок 14 Выбор главного класса
5. Щелкните кнопку Run для сохранения конфигурации и запуска приложения.
Рисунок 15 Приложение Calculator
После того как вы создали конфигурацию запуска приложения, вы можете запускать его многократно и использованием элемента меню Run->Run History или кнопки Run на панели инструментов. Если вы потратите достаточно времени, забавляясь с калькулятором, вы обратите внимание на то, что несмотря на нормальную в целом работу, у него имеется один большой недостаток - он не выполняет вычитание. Время использовать отладчик исходного кода Eclipse и найти проблему. Если вы выполняли все шаги, описанные в статье, вы можете отладить приложение в той конфигурации запуска, которая была создана ранее. Выберите в меню Run->Debug History->Calculator для запуска приложения в отладчике.
Когда вы запускаете
приложение для отладки, Eclipse автоматически
переходит к перспективе
Рисунок 16 Перспектива Отладки
Поскольку кажется, что наша проблема центрирована вокруг функции вычитания, мы установим точки прерывания (breakpoints) в обработчиках клавиш "минус" и "равно". Сначала нам нужно переключиться на закладку редактирования для класса CalcPanel. (Если у вас нет открытой закладки для класса CalcPanel, вам следует переключиться обратно в перспективу Java или перспективу Ресурсов, открыть файл там и снова перейти в перспективу Отладки).
Используйте представление Группировки Кода и выберите метод actionPerformed. Прокрутите несколько строк вниз, пока не увидите оператор case для клавиши "минус". Если вы выполните двойной щелчок по левой границе этой строки, Eclipse установит там точку прерывания. Прокрутите вниз еще несколько строк, чтобы установить еще одну точку прерывания на вызовmodel.calculate() в обработчике клавиши "равно".
Рисунок 17 Установка точки прерывания
Далее переключитесь на окно калькулятора и пощелкайте на нескольких кнопках. Что-нибудь вроде "2 4 6 -" должно сработать. Как только отладчик попадает на точку прерывания, вы можете использовать кнопки на панели инструментов для представления Отладчика (Debug view): для захода внутрь метода (step into), прохода по нему (step over) или выхода их него (step out).
Если мы зайдем внутрь метода setOperation, мы увидим, что он просто сохраняет код операции в поле pendingOp. Для продолжения исполнения программы нажмите кнопку Resume на панели инструментов отладчика.
Совет: Распространенной ошибкой для новых пользователей Eclipse является нажатие на кнопки Run или Debug вместо Resume. Такое действие вместо продолжения отладки приведет к запуску еще одной копии приложения.
Теперь нажмем еще несколько кнопок (например, "1 2 3") и затем "=". Как только мы войдем в метод calculate проблема станет очевидной: кто-то скопировал код для случая OP_ADD, но не произвел редактирование для правильного выполнения вычитания. Проблема решена.
3 Структура и состав Eclipse
Eclipse
состоит из проектов, каждый из
которых курируется Комитетом
по управлению проектом (Project Management
Committee, PMC) в соответствии с Уставом проекта.
Проекты делятся на подпроекты (subprojects).
Для оформления нового проекта (подпроекта)
инициативной группой вносится предложение
на проект (project proposal), основным документом
которого является декларация проекта
(project declaration), и проект получает статус
предложенного (proposed project). Для предложенных
проектов проводится обсуждение их целей,
тематического охвата, организационной
структуры проекта, результатов проекта
и формирование проектной команды.
Более подробно организационная структура, проектные роли и жизненный цикл проектов в рамках Eclipse описаны в документе The Eclipse Development Process.
4 Архитектура платформы Eclipse
Основой Eclipse является платформа расширенного клиента (RCP — от англ. rich client platform). Её составляют следующие компоненты:
- Ядро платформы (загрузка Eclipse, запуск модулей);
- OSGi (стандартная среда поставки комплектов (англ. bundles));
- SWT (портируемый инструментарий виджетов);
- JFace (файловые буферы, работа с текстом, текстовые редакторы);
- Рабочая среда Eclipse (панели, редакторы, проекции, мастеры).
Графически архитектура платформы Eclipse может быть выражена схемой:
Рисунок 6 Aрхитектура платформы Eclipse
Каждое инструментальное средство разработки оформляется в виде плагина (plug-in), реализующего определенный набор функций, присоединяемого к платформе Eclipse посредством своего API и написанного на Java. Как правило, плагин представляет собой Java-код, оформленный в виде архива JAR, несколько файлов для чтения и набор других ресурсов, необходимых для работы плагина, например, библиотеки, графические изображения, шаблоны и т. д.
Заключение
В целом, платформа Eclipse предоставляет базис, состоящий из общих строительных блоков и API для рабочих областей и рабочую среду, а также различные точки расширения, через которые может интегрироваться новая функциональность. Через эти точки расширения утилиты, реализованные в виде отдельных плагинов, могут расширять платформу Eclipse. Пользователь видит интегрированную среду разработки (IDE), специализированную набором доступных плагинов.
Более подробную информацию об API платформы Eclipse, точках расширения и стандартных компонентах содержится в Руководстве Разработчика Плагинов Платформы (Platform Plug-in Developer Guide), которое доступно в виде online-справки в Eclipse SDK.
Библиографический список
- Официальный сайт сообщества Eclipse: http://www.eclipse.
org/; - Реестр Eclipse-плагинов: http://www.eclipse-plugins.
info/eclipse/index.jsp; - Сайт разработчиков на Eclipse и IBM WebSphere, статьи, форумы: http://www.eclipse-workbench.
com/; - Последние новости об Eclipse: http://www.eclipsenews.com/;
- Обширный ресурс, содержащий реестр плагинов Eclipse, последние новости, статьи, аналитика, апдейты, форумы, maillist-ы: http://www.
eclipseplugincentral.com/; - Проект The Eclipse: http://www.eclipse.org/
eclipse/index.html; - Проект Eclipse Tools: http://www.eclipse.org/
tools/index.html; - Проект The Eclipse
Technology: http://www.eclipse.org/
technology/index.html

- Среда управленческого контроля
- Среда функцианирования предприятия
- Среда функционирования органа внутренних дел
- Среда функционирования предприятия
- Среда хозяйственной организации
- Средевековая философия
- Средиземное море
- Среда обитания человека
- Среда обитания человека
- Среда обитания человека ее опасности и их количественная оценка, понятия причины и их последствия
- Среда обитания человека: окружающая, городская, производственная и бытовая. Взаимодействие человека со средой обитания, аксиома о потенци
- Среда обитания человека – сущность, структура, содержание
- Среда программирования Scratch
- Среда проживания человека. Опасные и вредные факторы среды проживания