Difference between revisions of "Eclipse"
(adds quick story; article needs refactoring to remove the fluff) |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{highlight|text=This page was last updated in 2009. I personally have been using [[NetBeans]] instead of Eclipse [[User:Freephile|freephile]] ([[User talk:Freephile|talk]]) 21:25, 30 January 2016 (EST)}} | ||
== Intro == | == Intro == | ||
− | + | [http://www.eclipse.org/ Eclipse] ([http://wiki.eclipse.org/Main_Page wiki site]) is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the application development lifecycle. A large and vibrant ecosystem of major technology vendors, innovative start-ups, universities, research institutions and individuals extend, complement and support the Eclipse platform. | |
− | [http://www.eclipse.org/ Eclipse] is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the application development lifecycle. A large and vibrant ecosystem of major technology vendors, innovative start-ups, universities, research institutions and individuals extend, complement and support the Eclipse platform. | ||
As the project, community and resources are numerous, this page serves to note specific information that will help you use and interact with the technology most efficiently '''with a focus on the PHP developer'''. | As the project, community and resources are numerous, this page serves to note specific information that will help you use and interact with the technology most efficiently '''with a focus on the PHP developer'''. | ||
Line 27: | Line 27: | ||
The http://wiki.eclipse.org/PDT/Installation site offers good details on getting a clean and fully updated installation working, especially if you have particular needs for an older version. Similarly, this HOWTO seems like it's complete and tested, although I didn't follow it. http://www.howtoforge.com/setting-up-eclipse-pdt2.0-on-eclipse3.4-ganymede | The http://wiki.eclipse.org/PDT/Installation site offers good details on getting a clean and fully updated installation working, especially if you have particular needs for an older version. Similarly, this HOWTO seems like it's complete and tested, although I didn't follow it. http://www.howtoforge.com/setting-up-eclipse-pdt2.0-on-eclipse3.4-ganymede | ||
− | == | + | == Features == |
+ | The word "features" in the eclipse world refers to '''components''' that you can install on top of the core platform. It is the components which are actually the things that allow you to do the things you think of when "using" eclipse. Features in eclipse is similar to the concept of installing applications on top of an operating system. | ||
+ | |||
+ | As a [http://www.eclipse.org/home/categories/languages.php Language IDE] eclipse offers tools for just about every programming language (click on "Related EPIC [http://www.eclipseplugincentral.com/ Plugins]" in the bottom panel). It has also expanded beyond what you might consider when you think "Integrated Development Environment" to include not just advanced tools like UML modeling, but even support for Service Oriented Architectures. | ||
+ | |||
+ | === Remote System Explorer === | ||
+ | The '''Target Management (RSE)''' feature allows you to operate on your remote systems like it was the local system, and includes a shell where you can execute commands plus process monitor and more. | ||
+ | |||
+ | http://www.eclipse.org/dsdp/tm/ | ||
− | |||
=== Web Tools Platform === | === Web Tools Platform === | ||
Line 39: | Line 46: | ||
=== Subclipse === | === Subclipse === | ||
[http://subclipse.tigris.org/ Subclipse] is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. [http://www.newt.com/java/eclipse/ this Eclipse HOWTO] covers subclipse installation and a couple other initial configuration items. I believe with the release of Ganymede (2008) that subversion integration is included, so I'd have to learn what the differences are between the subclipse project, and any subversion integration which is pre-packaged with the eclipse platform. | [http://subclipse.tigris.org/ Subclipse] is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. [http://www.newt.com/java/eclipse/ this Eclipse HOWTO] covers subclipse installation and a couple other initial configuration items. I believe with the release of Ganymede (2008) that subversion integration is included, so I'd have to learn what the differences are between the subclipse project, and any subversion integration which is pre-packaged with the eclipse platform. | ||
+ | |||
+ | Subclipse 1.4.6 is now available for Eclipse 3.2+ (Eclipse 3.2/Callisto, 3.3/Europa, 3.4/Ganymede +) | ||
+ | # Start eclipse | ||
+ | # Click Help -> Software updates -> Available Software -> Add Site | ||
+ | # Enter <code>http://subclipse.tigris.org/update_1.4.x</code> in the dialog, click OK | ||
+ | # Tick the box next to the new source, and click "Install" | ||
{{Ambox | | {{Ambox | | ||
| text = One point of note is that sometimes you may want to get a 'minor' release upgrade (1.x.1 -> 1.y.1) for an installed plug-in such as subclipse. By default, the Eclipse Update Manager will not update you to a new minor release. In other words, if you have release 1.0.3 installed, it will update you to a 1.0.4 release, but it will not update you to a 1.1.0 or 1.2.0 release. You can change this in the Eclipse preferences. [http://subclipse.tigris.org/upgrade.html Open the Eclipse Preferences] and click on the Install/Update option.}} | | text = One point of note is that sometimes you may want to get a 'minor' release upgrade (1.x.1 -> 1.y.1) for an installed plug-in such as subclipse. By default, the Eclipse Update Manager will not update you to a new minor release. In other words, if you have release 1.0.3 installed, it will update you to a 1.0.4 release, but it will not update you to a 1.1.0 or 1.2.0 release. You can change this in the Eclipse preferences. [http://subclipse.tigris.org/upgrade.html Open the Eclipse Preferences] and click on the Install/Update option.}} | ||
+ | |||
+ | {{Messagebox | | ||
+ | | type = failure | ||
+ | | text = to get Subclipse working on my Ubuntu Intrepid Ibex system, I had to install the Java bindings for Subversion (see http://subclipse.tigris.org/wiki/JavaHL) and also modify my eclipse.ini settings}} | ||
+ | <source lang="bash"> | ||
+ | # provides the JavaHL libraries | ||
+ | sudo apt-get install libsvn-java | ||
+ | </source> | ||
+ | Add to eclipse.ini | ||
+ | <source lang="bash"> | ||
+ | -Djava.library.path=/usr/lib/jni | ||
+ | |||
+ | </source> | ||
=== PHPEclipse === | === PHPEclipse === | ||
Line 64: | Line 90: | ||
* Subclipse is the best Subversion plugin I have come across. Update site: http://subclipse.tigris.org/update_1.2.x | * Subclipse is the best Subversion plugin I have come across. Update site: http://subclipse.tigris.org/update_1.2.x | ||
* PyDev one of the best editors I have come across (Code completition, refactoring, etc.). Update site: http://pydev.sourceforge.net/updates/ | * PyDev one of the best editors I have come across (Code completition, refactoring, etc.). Update site: http://pydev.sourceforge.net/updates/ | ||
− | * | + | * Mercurial Excellent Distributed Version Control System (DVCS) tool inside Eclipse. Update site: http://www.vectrace.com/eclipse-update/ |
* Regular Expressions can be easily tested with this plugin. Update site: http://brosinski.com/regex/update/ | * Regular Expressions can be easily tested with this plugin. Update site: http://brosinski.com/regex/update/ | ||
* Maven the Ant-replacement build tool for Java. Update site: http://m2eclipse.sonatype.org/update/ | * Maven the Ant-replacement build tool for Java. Update site: http://m2eclipse.sonatype.org/update/ | ||
+ | * HTTP4e - HTTP Client for web development, web services, soap and rest http://http4e.roussev.org/ | ||
+ | |||
+ | |||
+ | == Alternates == | ||
+ | Aside from installing Eclipse and plugins "the good old-fashioned way", you can also find many Vendor-supplied gratis distributions usually with a hook into their revenue-generating business. | ||
+ | |||
+ | === Aptana Studio === | ||
+ | http://www.aptana.com/studio | ||
+ | Their no-cost version is pretty complete, and the pro version is almost as cheap as they come at $99 The pro version adds SFTP capability which I don't understand since you can get Target Management RSE for free -- and the latter seems more powerful from the description. I don't use it, and haven't compared Aptana to the free Eclipse, but I figured I'd mention it in case someone is looking for a product that comes with paid technical support. | ||
+ | |||
+ | === Polarion === | ||
+ | Polarion offers some additional features for use with Subversion such as LDAP authentication | ||
+ | http://www.polarion.com/products/eclipse/ | ||
− | == Zend Studio for Eclipse == | + | === Zend Studio for Eclipse === |
− | Zend Studio | + | Zend Studio is similar to the PDT (in fact they originated or contribute to the PDT project), but it is not free. |
* http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1268.html | * http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1268.html | ||
* http://www.zend.com/en/products/studio/ | * http://www.zend.com/en/products/studio/ | ||
Line 77: | Line 116: | ||
See Also: [[http://drupal.org/node/75242 Configuring your Eclipse system for Drupal]] | See Also: [[http://drupal.org/node/75242 Configuring your Eclipse system for Drupal]] | ||
+ | |||
+ | The [http://eclipseecf.blogspot.com/ Eclipse Communication Framework] makes things possible such as http://www.coffee-soft.org/ | ||
== Upgrading == | == Upgrading == | ||
Line 84: | Line 125: | ||
| text = the Eclipse Foundation coordinates an update to the technology on an annual basis (this process is called a "Release Train") and has been doing so every June since 2003. | | text = the Eclipse Foundation coordinates an update to the technology on an annual basis (this process is called a "Release Train") and has been doing so every June since 2003. | ||
; 2006 : Eclipse 3.2 / Calisto | ; 2006 : Eclipse 3.2 / Calisto | ||
− | |||
<nowiki>http://download.eclipse.org/releases/calisto/ </nowiki> discovery site | <nowiki>http://download.eclipse.org/releases/calisto/ </nowiki> discovery site | ||
; 2007 : Eclipse 3.3 / [http://www.crn.com/software/200001763 Europa] | ; 2007 : Eclipse 3.3 / [http://www.crn.com/software/200001763 Europa] | ||
− | |||
<nowiki>http://download.eclipse.org/releases/europa/ </nowiki> discovery site | <nowiki>http://download.eclipse.org/releases/europa/ </nowiki> discovery site | ||
; 2008 : Eclipse 3.4 / [http://www.eclipse.org/ganymede/ Ganymede] | ; 2008 : Eclipse 3.4 / [http://www.eclipse.org/ganymede/ Ganymede] | ||
+ | <nowiki>http://download.eclipse.org/releases/ganymede/</nowiki> discovery site | ||
− | + | note too that the discovery site URIs should be added to the eclipse software under " help -> software updates -> add site " for software discovery. The endpoints for these URIs are not formatted for human reading. | |
}} | }} | ||
Line 107: | Line 147: | ||
sudo update-java-alternatives --set java-6-sun | sudo update-java-alternatives --set java-6-sun | ||
</source> | </source> | ||
+ | |||
+ | To upgrade, you should be able to just | ||
+ | # start eclipse | ||
+ | # click Help (Alt + h) | ||
+ | # click Software Updates (s) | ||
+ | # click Update (Alt + d) | ||
+ | |||
+ | === Trouble Upgrading === | ||
+ | <pre> | ||
+ | The software items you selected may not be valid with your current installation. | ||
+ | Do you want to open the wizard anyway to review the selections? | ||
+ | </pre> | ||
+ | |||
+ | If I uncheck everything but the SDK from the update list, then that error message goes away. However the update would stall and hang at 22% complete - presumably because the HTTP client within eclipse has problems. So, I installed an experimental feature which supposedly takes care of this. I eventually got the SDK to update, but I'm still unable to update the '''WST Server Core''' or other WST components. | ||
+ | <pre> | ||
+ | Cannot complete the request. See the details. | ||
+ | Cannot find a solution satisfying the following requirements Match[requiredCapability: | ||
+ | org.eclipse.equinox.p2.iu/org.apache.commons.logging/[1.0.4.200809231229,1.0.4.200809231229]]. | ||
+ | </pre> | ||
+ | I get the same error message with the WSDL 1.4 and 1.5 Feature | ||
+ | |||
+ | |||
== Videos and Tutorials == | == Videos and Tutorials == | ||
Some resources to get you started using Eclipse effectively | Some resources to get you started using Eclipse effectively | ||
Line 112: | Line 174: | ||
* [http://live.eclipse.org/node/578 PHP Tutorial: Using Eclipse+PDT as a PHP IDE] | * [http://live.eclipse.org/node/578 PHP Tutorial: Using Eclipse+PDT as a PHP IDE] | ||
* http://wiki.eclipse.org/PDT/TUTORIALS | * http://wiki.eclipse.org/PDT/TUTORIALS | ||
+ | |||
+ | * http://2tbsp.com/content/getting_started_eclipse_php_development_tools_(pdt) seems pretty good, but I haven't gotten through it yet because I'm first trying to update the platform. | ||
+ | * [http://blog.xam.dk/archives/81-Making-Eclipse-look-good-on-Linux.html Making eclipse look good] | ||
[[Category:Applications]] | [[Category:Applications]] |
Latest revision as of 21:25, 30 January 2016
Intro[edit | edit source]
Eclipse (wiki site) is an open source community whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the application development lifecycle. A large and vibrant ecosystem of major technology vendors, innovative start-ups, universities, research institutions and individuals extend, complement and support the Eclipse platform.
As the project, community and resources are numerous, this page serves to note specific information that will help you use and interact with the technology most efficiently with a focus on the PHP developer.
Installation[edit | edit source]
I like to have control over what I have installed, and also like to know what is going on in my computer. For simplicity's sake, you might want to check out Easy Eclipse I didn't find that site until after spending a couple days installing, uninstalling, re-installing, and tweaking Eclipse.
For the impatient[edit | edit source]
- Download the file, untar it into ~/opt
- and make an executable launcher to start the program (/home/user/bin/eclipse)
export MOZILLA_FIVE_HOME="/usr/lib/mozilla/" export ECLIPSE_HOME="$HOME/opt/eclipse" $ECLIPSE_HOME/eclipse $*
- start eclipse and add the extras through the 'help' menu
Long story[edit | edit source]
Getting and installing Eclipse is still a lot more difficult than it should be (owing in part to the fact that it continues to grow in size, scope and complexity). In late 2008, it is still not as simple as sudo apt-get install eclipse
. If you do that using Ubuntu Hardy Heron, the installed version will be 3.2, which dates from 2006 and will fail to meet requirements for recent modules like PDT. What's worse, the eclipse system can NOT upgrade itself. See https://help.ubuntu.com/community/EclipseIDE for more accurate help in installing Eclipse. The short instructions are to install a Java Virtual Machine (which you can use synaptic or apt-get for) and to download Eclipse and install it manually. Add to that a lot of additional module installations.
In spite of any relative ease compared to the way it was "back in the day" (when just installing Java on Linux took about a decade and three lawyers), it's a large project, with Java as a dependency and many applications that you can install on top of the framework. So, an exact description of how to get setup is important. In addition to the foregoing details, http://groups.drupal.org/node/6261 describes how to get yourself setup with a completely free development environment. It starts with Ubuntu (the Debian-based desktop distribution) and ends with configuring Eclipse for working with Drupal coding standards. (Now nicknamed appropriately 'Drubuntu'.)
The http://wiki.eclipse.org/PDT/Installation site offers good details on getting a clean and fully updated installation working, especially if you have particular needs for an older version. Similarly, this HOWTO seems like it's complete and tested, although I didn't follow it. http://www.howtoforge.com/setting-up-eclipse-pdt2.0-on-eclipse3.4-ganymede
Features[edit | edit source]
The word "features" in the eclipse world refers to components that you can install on top of the core platform. It is the components which are actually the things that allow you to do the things you think of when "using" eclipse. Features in eclipse is similar to the concept of installing applications on top of an operating system.
As a Language IDE eclipse offers tools for just about every programming language (click on "Related EPIC Plugins" in the bottom panel). It has also expanded beyond what you might consider when you think "Integrated Development Environment" to include not just advanced tools like UML modeling, but even support for Service Oriented Architectures.
Remote System Explorer[edit | edit source]
The Target Management (RSE) feature allows you to operate on your remote systems like it was the local system, and includes a shell where you can execute commands plus process monitor and more.
http://www.eclipse.org/dsdp/tm/
Web Tools Platform[edit | edit source]
The Web Tools Platform is a "feature" in Eclipse providing the foundation for, well, web tools. You'll need to get this in order to install PDT.
Dynamic Languages Toolkit Core Frameworks[edit | edit source]
JavaScript, Ruby, TCL, Python
Subclipse[edit | edit source]
Subclipse is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. this Eclipse HOWTO covers subclipse installation and a couple other initial configuration items. I believe with the release of Ganymede (2008) that subversion integration is included, so I'd have to learn what the differences are between the subclipse project, and any subversion integration which is pre-packaged with the eclipse platform.
Subclipse 1.4.6 is now available for Eclipse 3.2+ (Eclipse 3.2/Callisto, 3.3/Europa, 3.4/Ganymede +)
- Start eclipse
- Click Help -> Software updates -> Available Software -> Add Site
- Enter
http://subclipse.tigris.org/update_1.4.x
in the dialog, click OK - Tick the box next to the new source, and click "Install"
One point of note is that sometimes you may want to get a 'minor' release upgrade (1.x.1 -> 1.y.1) for an installed plug-in such as subclipse. By default, the Eclipse Update Manager will not update you to a new minor release. In other words, if you have release 1.0.3 installed, it will update you to a 1.0.4 release, but it will not update you to a 1.1.0 or 1.2.0 release. You can change this in the Eclipse preferences. Open the Eclipse Preferences and click on the Install/Update option. |
# provides the JavaHL libraries
sudo apt-get install libsvn-java
Add to eclipse.ini
-Djava.library.path=/usr/lib/jni
PHPEclipse[edit | edit source]
PHPEclipse is not the same as the PDT. They are two separate PHP-oriented IDEs that install into the Eclipse framework. You should try each, and decide which one works best for you. http://www.phpeclipse.de/wiki/General/HowDoesPHPEclipseCompareWithOtherPHPEditors
PHP Developer Tools (PDT)[edit | edit source]
The PDT project is the reference environment for PHP Developers.
Installing the PDT is very simple, and the steps are listed at https://help.ubuntu.com/community/EclipsePDT The wiki for the project is at http://wiki.eclipse.org/index.php/PDT
Unfortunately, the current packaged eclipse (3.2.2) for Kubuntu fails some of the requirements for the PDT, so if you are just installing eclipse for the first time, you'll see an error like the following when trying to install PDT:
PDT Feature (1.0.3.v20080603-79-7PE7QYGHNH6Gh) requires feature "org.eclipse.wst (2.0.0)", or compatible. |
See http://wiki.eclipse.org/IRC_FAQ#How_do_I_install_a_project_with_multiple_dependencies.3F Again, you'll probably want to REMOVE the 3.2 version and install a more recent version by hand because you can't upgrade one major release to the next.
Others[edit | edit source]
Here are some that I haven't checked or added yet, from http://jhcore.com/2008/06/26/eclipse-34-ganymede-on-ubuntu/
- EclEmma is a great code coverage tool. Update site: http://update.eclemma.org/
- Subclipse is the best Subversion plugin I have come across. Update site: http://subclipse.tigris.org/update_1.2.x
- PyDev one of the best editors I have come across (Code completition, refactoring, etc.). Update site: http://pydev.sourceforge.net/updates/
- Mercurial Excellent Distributed Version Control System (DVCS) tool inside Eclipse. Update site: http://www.vectrace.com/eclipse-update/
- Regular Expressions can be easily tested with this plugin. Update site: http://brosinski.com/regex/update/
- Maven the Ant-replacement build tool for Java. Update site: http://m2eclipse.sonatype.org/update/
- HTTP4e - HTTP Client for web development, web services, soap and rest http://http4e.roussev.org/
Alternates[edit | edit source]
Aside from installing Eclipse and plugins "the good old-fashioned way", you can also find many Vendor-supplied gratis distributions usually with a hook into their revenue-generating business.
Aptana Studio[edit | edit source]
http://www.aptana.com/studio Their no-cost version is pretty complete, and the pro version is almost as cheap as they come at $99 The pro version adds SFTP capability which I don't understand since you can get Target Management RSE for free -- and the latter seems more powerful from the description. I don't use it, and haven't compared Aptana to the free Eclipse, but I figured I'd mention it in case someone is looking for a product that comes with paid technical support.
Polarion[edit | edit source]
Polarion offers some additional features for use with Subversion such as LDAP authentication http://www.polarion.com/products/eclipse/
Zend Studio for Eclipse[edit | edit source]
Zend Studio is similar to the PDT (in fact they originated or contribute to the PDT project), but it is not free.
- http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1268.html
- http://www.zend.com/en/products/studio/
Extras[edit | edit source]
Due to it's extensible nature, any given project from Drupal to Symfony can create plugins for Eclipse that make developing for that particular Content Management System or Web Application Framework more enjoyable (automatic syntax helpers for the defined methods of the system) plus other features. For example, the Symfony framework includes many command-line tools and it's configuration is written in YAML. The Symfoclipse plugin makes these tools available from the IDE and provides YAML authoring and validation.
See Also: [Configuring your Eclipse system for Drupal]
The Eclipse Communication Framework makes things possible such as http://www.coffee-soft.org/
Upgrading[edit | edit source]
It seems that Eclipse will not allow you to upgrade the system itself from Eclipse 3.2 to Eclipse 3.3 to Eclipse 3.4 to get Eclipse to work with the recent releases of PDT or PHPEclipse. Instead, you have to install the base Eclipse you want, and get the specific bundles that will work with that base.
the Eclipse Foundation coordinates an update to the technology on an annual basis (this process is called a "Release Train") and has been doing so every June since 2003.
http://download.eclipse.org/releases/calisto/ discovery site
http://download.eclipse.org/releases/europa/ discovery site
http://download.eclipse.org/releases/ganymede/ discovery site note too that the discovery site URIs should be added to the eclipse software under " help -> software updates -> add site " for software discovery. The endpoints for these URIs are not formatted for human reading. |
In addition to installing Eclipse, you should definitely be sure to set the Java environement
sudo update-java-alternatives --list
That command should list something like
java-6-sun 63 /usr/lib/jvm/java-6-sun java-gcj 1042 /usr/lib/jvm/java-gcj
Then you can set the Sun Microsystems Java as the default with
sudo update-java-alternatives --set java-6-sun
To upgrade, you should be able to just
- start eclipse
- click Help (Alt + h)
- click Software Updates (s)
- click Update (Alt + d)
Trouble Upgrading[edit | edit source]
The software items you selected may not be valid with your current installation. Do you want to open the wizard anyway to review the selections?
If I uncheck everything but the SDK from the update list, then that error message goes away. However the update would stall and hang at 22% complete - presumably because the HTTP client within eclipse has problems. So, I installed an experimental feature which supposedly takes care of this. I eventually got the SDK to update, but I'm still unable to update the WST Server Core or other WST components.
Cannot complete the request. See the details. Cannot find a solution satisfying the following requirements Match[requiredCapability: org.eclipse.equinox.p2.iu/org.apache.commons.logging/[1.0.4.200809231229,1.0.4.200809231229]].
I get the same error message with the WSDL 1.4 and 1.5 Feature
Videos and Tutorials[edit | edit source]
Some resources to get you started using Eclipse effectively
- http://live.eclipse.org/
- PHP Tutorial: Using Eclipse+PDT as a PHP IDE
- http://wiki.eclipse.org/PDT/TUTORIALS
- http://2tbsp.com/content/getting_started_eclipse_php_development_tools_(pdt) seems pretty good, but I haven't gotten through it yet because I'm first trying to update the platform.
- Making eclipse look good