Eclipse
Contents
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
Components[edit | edit source]
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.
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. |
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/
Zend Studio for Eclipse[edit | edit source]
Zend Studio and other IDEs are similar to the PDT, but are 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 contents there 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