Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "JDT weaving features"

(Updated intro)
Line 80: Line 80:
 
==Running AJDT 1.6.2 without JDT Weaving==
 
==Running AJDT 1.6.2 without JDT Weaving==
  
It is possible to disable the weaving service and still run AJDT 1.6.2.  However, all the advanced features will be disabled.
+
It is possible to disable the weaving service and still run AJDT 1.6.2.  Basic features, such as the AJBuilder, navigation, and cross references will be available, but all the advanced features will be disabled.
  
Go to  
+
To disable JDT Weaving, go to  
 
  Preferences -> JDT Weaving
 
  Preferences -> JDT Weaving
  

Revision as of 20:25, 21 January 2009

Starting with version 1.6.2, AJDT will be shipped with the JDT weaving plugin. This plugin implements the weaving service that uses Equinox Aspects to weave into JDT. Upon installing or upgrading AJDT, the weaving service is initially off. You are asked if the service should be enabled the first time an AspectJ project is opened or created.

Through this weaving, AJDT is able to integrate with Eclipse more deeply and in ways that were not possible before. This release introduces the following features:

  • ITD-aware reconciling/eager parsing (in both Java and AJ editors, this means that red squiggles will not appear when referencing ITDs)
  • ITD-aware content assist (for now only in *.aj files in AJ editors)
  • ITD-aware type hierarchies (for now only super-type hierarchies can be calculated with ITD-awareness)
  • Ability to search for aspect elements using standard Java search and Open Java type

With the service enabled, Eclipse may require more resources. If you encounter any sluggishness or memory problems, it is recommended that you increase your Xmx and PermGen sizes to at least 512 and 128 respectively, using something like the following vmargs when launching eclipse:

-vmargs -Xmx512M -XX:MaxPermSize=128M


For information on how to use the JDT weaving plugin to provide deep integration with plugins and editors for other Java-like languages, see JDT weaving implementation.

Installation

AJDT with JDT weaving is only available for Eclipse 3.4. The easiest way to install is through the standard AJDT 1.6 development update site:

http://download.eclipse.org/tools/ajdt/34/dev/update

Installing from this update site will automatically install Equinox Aspects from a separate update site. Additionally, the install will update your config.ini file to allow the weaving service to be enabled at startup.

Due to Bug 257178, it is currently only possible to install AJDT with JDT weaving in the same directory that Eclipse itself is installed in.

Actually, this only applies to Equinox Aspects. If you cannot install in the eclipse directory or want to install manually (i.e., from a zip file and not from an update site), see below.

Manual Install

To do a manual install, first install Equinox Aspects (see below) and then download the desired zip file of AJDT from the downloads page and unzip into your eclipse dropins folder.

These zips do not include Equinox Aspects, which is required for the weaving to be installed. There are two ways to install Equinox Aspects: from the update site, or manually.

Installing Equinox Aspects from the update site

The Equinox Aspects is temporarily available here:

http://download.eclipse.org/tools/ajdt/34/dev/equinox-aspects

in the future, the update site will be moved to the Equinox name space.

Installing Equinox Aspects manually

  1. Download the latest release from http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-downloads.php
  2. Unzip into your Eclipse plugins directory (must be plugins and not dropins because of Bug 257178)
  3. Start Eclipse and then shut down. This will install Equinox Aspects in the P2 registry, but the weaving service will not be enabled until you do the following.
  4. Edit your config.ini file in your Eclipse configuration directory:
  • Add the following line:
osgi.framework.extensions=org.eclipse.equinox.weaving.hook
  • Look for the line that looks something like:
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.0.v20080604.jar@1\:start

and append:

,org.eclipse.equinox.weaving.aspectj@2\:start
  • Optionally, add the following lines in order to enable weave info messages:
aj.weaving.verbose=true
org.aspectj.weaver.showWeaveInfo=true
org.aspectj.osgi.verbose=true

Runtime

To see if the JDT Weaving plugin is properly configured, go to

Preferences -> JDT Weaving

This page will notify you of the state of the weaving service. It will also allow you to enable/disable the service.

Uninstalling

If AJDT was installed through the update site, then you can uninstall it in the same way you uninstall any other Eclipse feature:

Help -> Software Updates -> Installed Software

Select AJDT, and click Uninstall.... This will also uninstall Equinox Aspects and undo the changes to your config.ini.

If either Equinox Aspects or AJDT were installed manually, then they must be uninstalled manually as well by deleting the appropriate plugins from the filesystem.

If you had originally installed Equinox Aspects manually, then you must also manually back out all the changes to the config.ini.

Running AJDT 1.6.2 without JDT Weaving

It is possible to disable the weaving service and still run AJDT 1.6.2. Basic features, such as the AJBuilder, navigation, and cross references will be available, but all the advanced features will be disabled.

To disable JDT Weaving, go to

Preferences -> JDT Weaving

Click the button Disable JDT Weaving button and restart the workbench. Similarly, to re-enable the weaving service go back to the preference page and click Enable JDT Weaving.

Alternatively, to disable manually, you can edit the file eclipse/configuration/config.ini. Delete the line that looks something like this:

osgi.framework.extensions=org.eclipse.equinox.weaving.hook

Back to the top