Eclipse: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
м замена категории на шаблон для работы полки, removed: Категория:Программирование с помощью AWB
Строка 155: Строка 155:
Eclipse Platform is the name for the core frameworks and services upon which plug-in extensions are created. It provides the runtime in which plug-ins are loaded and run. In order to use the term with the right degree of (im)precision, it is useful to know some things about the Platform. First off, the Eclipse Platform itself is not really a true product that would ship by itself. The Platform's direct consumers are tool builders, or ISVs, since they add the value to the Eclipse Platform that makes it useful to people.
Eclipse Platform is the name for the core frameworks and services upon which plug-in extensions are created. It provides the runtime in which plug-ins are loaded and run. In order to use the term with the right degree of (im)precision, it is useful to know some things about the Platform. First off, the Eclipse Platform itself is not really a true product that would ship by itself. The Platform's direct consumers are tool builders, or ISVs, since they add the value to the Eclipse Platform that makes it useful to people.
The Eclipse Platform is divided up into Core and UI. Anything classified as "UI" needs a window system, whereas things classified as "Core" can run "headless". The UI portion of the Eclipse Platform is known as the Workbench. The core portion of the Eclipse Platform is simply called the Platform Core, or Core.
The Eclipse Platform is divided up into Core and UI. Anything classified as "UI" needs a window system, whereas things classified as "Core" can run "headless". The UI portion of the Eclipse Platform is known as the Workbench. The core portion of the Eclipse Platform is simply called the Platform Core, or Core.
So the Eclipse Platform is just the nucleus around which tool builders build tool plug-ins.
So the Eclipse Platform is just the nucleus around which tool builders build tool plug-ins.


Platform - Short for "Eclipse Platform".
Platform - Short for "Eclipse Platform".
Rich Client Platform (RCP)
Rich Client Platform (RCP)


A subset of the Eclipse Platform that forms a generic application framework, rather than a framework for building development tools. This subset does not contain the Resources plug-in, or any UI relating to resources.
A subset of the Eclipse Platform that forms a generic application framework, rather than a framework for building development tools. This subset does not contain the Resources plug-in, or any UI relating to resources.


Workbench - Short for "Eclipse Platform UI".
Workbench - Short for "Eclipse Platform UI".
Строка 203: Строка 203:
* [[Eclipse/Literature]]
* [[Eclipse/Literature]]


[[Категория:Программирование]]
[[Категория:Среды разработки программ]]
{{BookCat}}
{{BookCat}}

{{Темы|Программирование}}

[[Категория:Среды разработки программ]]

Версия от 22:29, 8 февраля 2016

Eclipse (произносится «и-кли́пс», от английского «затмение»)

Начало работы

Что это?

Eclipse — фреймворк (каркас) для разработки (конструирования) десктоп-программ с графическим интерфейсом (и без).

Каркас расширяется при помощи плагинов. Наиболее известные, так называемые IDE-плагины:

  • Java plug-in, так как сам Eclipse-фреймворк написан на языке Java
  • C/С++ plug-in, так как язык C/C++ наиболее распространен в свободном сообществе
  • PHP
  • С#
  • WTP

Eclipse-фреймворк применяется не только как базис интерактивных программ, и не только с языками C/C++/Java, это универсальный фреймворк.

Лицензия

Eclipse-фреймворк лицензируется для использования по одной из свободных лицензий, первоначально Common Public License, ныне - Eclipse Public License.

Эти лицензии IBM признаны свободными и одобрены FSF, хотя и не защищают от разворовывания public domain, как GPL.

Это компромиссные лицензии, которые позволяют ортодоксальному бизнесу скрывать знания в закрытых Эклипс-плагинах, защищать свои know-how (ноу-хау, секрет производства) и получать конкурентные преимущества над другими людьми.

Workspace

При старте Eclipse запросит workspace — рабочее пространство, имя каталога, в котором будет сохранён результат работы. Можно:

  • оставить workspace по умолчанию (и отменить запрос на будущее);
  • восстановить запрос: Window → Preferences → General → Startup and Shutdown → Workspaces → Prompt for workspace on startup;
  • указать workspace в командной строке:
    eclipse -data /…/

Одновременно только один экземпляр Eclipse работает над одним workspace. Если надо запустить ещё один экземпляр, необходимо указать другой workspace.

Архитектура

Подробнее о сборке программ из компонентов Eclipse-фреймворк см. Eclipse/Architecture.

Плагины

Любая программа, собранная на основе фреймворка Eclipse, представляет из себя плагин или feature (группу плагинов).

Одна из самых важных сборок — Eclipse IDE — включает:

  • инструмент сборки — PDT (Plugin Development Tools);
  • инструмент модификации и создания новых компонент — JDT (Java Development Tools)
  • и другие инструменты.

Количество плагинов огромно. Только малая часть перечислена в разделе Eclipse/Plugins.

Eclipse JDT

Eclipse JDT

Eclipse CDT

Eclipse/CDT — модуль для программирования на C++

Eclipse PDT

Eclipse PDT

JSDT

JSDT - JavaScript Development Tools.

Применение

Веб-проект на Eclipse с Tomcat

Последующее описание было сделано на основе нескольких туториалов и проверено автором.

Установка

  • Установите актуальную версию Eclipse. Последние версии содержат WTP-плагин, для старых его нужно инсталлировать. Это описание проверялось с Eclipse 3.6 и Eclipse Indigo
  • Установите Apache Tomcat (Пример создан с версией 6.0 и проверен с версией 7.0.26).
  • После стартаTomcat-а под http://localhost:8080 вы должны увидеть приветствие. Остановите Tomcat с помощью '<tomcat-root>/bin/shutdown.bat' или через Computer->Управление-> 'Службы и приложения' (Windows 7).
  • Просмотрите настройки Tomcat-а в '<tomcat-root>/conf/server.xml' и '<tomcat-root>/conf/web.xml' и проверьте лог-файлы в '<tomcat-root>/logs'.
  • Вставьте в '<tomcat-root>/conf/tomcat-users.xml' после '<tomcat-users>' следующие строки:

<role rolename="admin"/> <role rolename="manager"/> <user username="МоеИмя" password="МойПароль" roles="admin,manager"/> Если вы опять стартуете Tomcat, вы сможете администрировать его под 'http://localhost:8080/manager'.

Связь Eclipse с Tomcat-ом

  • Стартуйте Eclipse и установите его связь с вашей Tomcat-инсталляцией:

'File' | 'New' | 'Other...' | '[+] Server' | 'Server' | 'Next >' | '[+] Apache' | 'Tomcat v6.0 Server' | 'Next >'.

  • Вставьте в 'Tomcat installation directory' ваш Tomcat-каталог (например 'C:\Java\Tomcat') и нажмите 'Finish'.
  • Выберите Java EE перспективу через

'Window' | 'Open Perspective' | 'Other...' | 'Java EE' | 'OK' и кликните внизу на закладку 'Servers'. Вы увидите там 'Tomcat v6.0 Server'. С помощью символов или правой кнопки мыши вы можете сервер стартовать или остановить.

  • Сделайте двойной клик на строку сервера
  • В появившемся в главном окне Eclipse "Overview" сервера имеются дополнительные возможности конфигуации сервера.
  • Нажмите символ дискетки, чтобы запомнить изменение конфигурации сервера, если вы ее изменили.

Создание веб-приложения (сервлета)

  • Убедитесь, что Tomcat находится в остановленном состоянии.
  • 'File' | 'New' | 'Project...' | '[+] Web' | 'Dynamic Web Project' | 'Next >'.
  • Внесите:

Project name: myProject Use default location: Да Target Runtime: Apache Tomcat v7.0 Configurations: Default Configuration for Apache Tomcat v7.0 EAR membership: Нет

  • 'Next >'
  • Если вы в Project Facets Dialog получите вопрос о Java-версии, внесите, по крайней мере что-то вроде '5.0'.
  • 'Next >'
  • Внесите 'Web Module':

Context Root: myProject Content Directory: WebContent Generate web.xml deployment descriptor: Да

  • 'Finish'
  • Кликните правой кнопкой на имя каталога WebContent вашего проекта, выберите 'New' | 'Servlet' и внесите:

Java package: myservletpackage Class name: MyFirstServlet

  • 'Next >'
  • Под URL Mappings отметьте /MyFirstServlet, нажмите кнопку "Edit..." и внесите

/HelloServlet

  • 'Finish'
  • Проверьте в '<Eclipse-workspace>\MyProjekt\WebContent\WEB-INF'-каталоге, в файле'web.xml' описаны ли там '<servlet>' и '<servlet-mapping>' - элементы. Если нет - что-то не сложилось, дальше можно не продолжать.
  • Измените текст MyFirstServlet.java на:
package myservletpackage;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
public class MyFirstServlet extends HttpServlet
{
   static final long serialVersionUID = 1L;
 
   @Override
   public void doGet( HttpServletRequest requ, HttpServletResponse resp )
   throws ServletException, IOException
   {
      resp.setContentType( "text/html" );
      PrintWriter out = resp.getWriter();
      out.println( "<html>" );
      out.println( "<h3> Hello, my first servlet is alive! </h3>" );
      out.println( "</html>" );
      out.close();
   }
}

Запуск веб-приложения

  • Кликните на имя ваш сервлет правой кнопкой и выберите: 'Run As' | 'Run on Server'.
  • Если возникнет диалог 'Define a New Server':
  • Выберите 'Tomcat v6.0 Server at localhost' и отметьте галочкой 'Always use this server when running this project'. 'Finish'.
  • Если Tomcat не стартовал автоматически, стартуйте его через вкладку Servers.
  • В адресном поле броузера наберите:

http://localhost:8080/myProject/HelloServlet Убедитесь в появлении текста "Hello, my first servlet is alive!".

  • Измените написание выдаваемого сервлетом текста в исходнике и снова запустите проект. Выдаваемый текст не изменился.

Не отчаивайтесь - просто обновите окно броузера.

Глоссарий

  • Eclipse SDK (инструментарий разработчика) — Eclipse Platform + JDT + PDE
  • Feature — иклипс-приложение, RCP-программа, состоящая из нескольких плагинов. Feature состоит из manifest-файла, плагинов, фрагментов, других файлов. Формат упаковки — JAR.
  • Feature manifest editor — один из редакторов PDE-перспективы, предназначенный для редактирования manifest-файла, описывающего Feature.
  • Fragment — фрагмент плагина. Удобен для доопределения новых свойств уже инсталлированного плагина, таких как локализация, изолирование зависимостей от платформ, распределения работ.
  • Perspective (перспектива) — набор редакторов и вьюеров для определенного контекста.


Литература