Package Description

Tools for Java developers creating Java EE and Web applications, including a Java IDE, tools for Java EE, JPA, JSF, Mylyn, EGit and others.

In this handout we will download Eclipse IDE for Eclipse Committers for Windows 32 Bit; if your computer uses Windows, continue below; otherwise choose either Mac Cocoa or Linux instead. It is critical that Java, Python, and Eclipse are either all 32 Bit or are all 64 Bit (and only if your Machine/OS supports 64 Bit): I think it easiest to use.

This package includes:

  • org.eclipse.cvs
  • org.eclipse.help
  • org.eclipse.jdt
  • org.eclipse.platform
  • org.eclipse.pde
  • org.eclipse.mylyn.ide_feature
  • org.eclipse.mylyn.java_feature
  • org.eclipse.mylyn.bugzilla_feature
  • org.eclipse.mylyn.context_feature
  • org.eclipse.mylyn_feature
  • org.eclipse.mylyn.wikitext_feature
  • org.eclipse.egit
  • org.eclipse.egit.import
  • org.eclipse.egit.mylyn
  • org.eclipse.rse
  • org.eclipse.rse.useractions
  • org.eclipse.tm.terminal
  • org.eclipse.tm.terminal.ssh
  • org.eclipse.tm.terminal.telnet
  • org.eclipse.tm.terminal.view
  • org.eclipse.datatools.modelbase.feature
  • org.eclipse.datatools.connectivity.feature
  • org.eclipse.datatools.sqldevtools.feature
  • org.eclipse.datatools.intro
  • org.eclipse.datatools.doc.user
  • org.eclipse.datatools.common.doc.user
  • org.eclipse.datatools.connectivity.doc.user
  • org.eclipse.datatools.sqltools.doc.user
  • org.eclipse.datatools.enablement.feature
  • org.eclipse.wst.common.fproj
  • org.eclipse.wst.jsdt.feature
  • org.eclipse.wst.xml_ui.feature
  • org.eclipse.wst.web_ui.feature
  • org.eclipse.wst.server_adapters.feature
  • org.eclipse.wst.xsl.feature
  • org.eclipse.jst.common.fproj.enablement.jdt
  • org.eclipse.jst.server_ui.feature
  • org.eclipse.jst.server_adapters.feature
  • org.eclipse.jst.server_adapters.ext.feature
  • org.eclipse.jst.web_ui.feature
  • org.eclipse.jst.enterprise_ui.feature
  • org.eclipse.jst.webpageeditor.feature
  • org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature
  • org.eclipse.jst.ws.axis2tools.feature
  • org.eclipse.jst.ws.axis2tools.feature
  • org.eclipse.jpt.common.feature
  • org.eclipse.jpt.common.eclipselink.feature
  • org.eclipse.jpt.dbws.eclipselink.feature
  • org.eclipse.jpt.jaxb.eclipselink.feature
  • org.eclipse.jpt.jaxb.feature
  • org.eclipse.jpt.jpa.eclipselink.feature
  • org.eclipse.jpt.jpa.feature
  • org.eclipse.jsf.feature
  • org.eclipse.jst.webpageeditor.feature
  • org.eclipse.jst.jsf.apache.trinidad.tagsupport.feature
  • org.eclipse.jst.ws.jaxws.feature
  • org.eclipse.jst.ws.cxf.feature
  • org.eclipse.jst.ws.jaxws.dom.feature
  • org.eclipse.m2e.feature
  • org.eclipse.m2e.logback.feature
  • org.eclipse.m2e.wtp.feature
  • org.eclipse.m2e.wtp.jaxrs.feature
  • org.eclipse.m2e.wtp.jpa.feature
  • org.eclipse.m2e.wtp.jsf.feature
  • org.eclipse.epp.package.common.feature

Maintained by: WTP and the Eclipse Packaging Project

Windows 32-bit
Windows 64-bit
Mac OS X (Cocoa) 32-bit
Mac OS X (Cocoa) 64-bit
Linux 32-bit
Linux 64-bit

Windows 32-bit: MD5 - SHA1 - SHA512
Windows 64-bit: MD5 - SHA1 - SHA512
Mac OS X (Cocoa) 32-bit: MD5 - SHA1 - SHA512
Mac OS X (Cocoa) 64-bit: MD5 - SHA1 - SHA512
Linux 32-bit: MD5 - SHA1 - SHA512
Linux 64-bit: MD5 - SHA1 - SHA512

Bugzilla

Bug IDTitleStatus
509189Setup errorsNEW
507509Adding new CFT feature to JEE package for Neon.2 and OxygenNEW
512008Add Spring toolingNEW
512880Include SpotBugs in Java and Java EE packageNEW
513864Something wrong with Eclipse Neon.2 (4.6.2) when it uses in fedora ( dell xps 15 HD 3840x2160 )NEW
513604Exported app client project is dependent on appclient.batNEW
503463Reopen Update does not workNEW
496632AssertionFailedException in AbstractTextEditor$TextEditorSavableNEW
485788Include Eclipse Tools for Cloud Foundry (CFT) as part of the JEE PackageNEW
483561Inspect window close when try to resizeNEW
488993Include Memory Analyzer Tools in Java EE packageNEW
492707Upgrading to Mars 4.5.2 fails because of missing itemsNEW
494586Update New JEE Welcome Quicklinks to create JavaEE Web project and JSDT ProjectNEW
515330Problems occurred when invoking code from plug-in: 'org.eclipse.jface'.NEW
518580JavaEE package not listed on main Oxygen dev builds download pageNEW
544627ITS team has blocked eclipse several operations due to absence of digital signatureNEW
542925Eclipse IDE for Enterprise Java Developers 2018-12 R final release disables content assist by default.NEW
550519Eclipse IDE for Java EE Developers NEON 4.6 - Maven projectNEW
551096Unable to add the jar files are the options are being disabledNEW
551408Include Wild Web Developer into Eclipse IDE for Enterprise Java DevelopersNEW
538811Problem Opening Wizard for an installed pluginNEW
536107Cant Delete projectsNEW
522712Eclipse for JEE does not include PDE extension point schemasNEW
520315Toolbar contatining run,debug and breakpoints missing if customize perspective is used than eclipse oxygen crashes in ubuntu 64bitNEW
533338Not able to load the JAVA EE perspective and not able to see Server option in Neon 4.6.2NEW
533975[Accessibility] issues in Windows 'high contrast' mode.NEW
535551EPP Photon RC2 has duplicate vmargs in eclipse.iniNEW
481601Packages MUST set lower version of featureNEW
472108Problew when try to open EclipseNEW
380080Cannot upgrade to Eclipse IDE for Java EE Developers 1.5.0.20120504-1855NEW
368367Eclipse.exe ICON mismatchNEW
384419[KeyBindings] Can't unbind the ESC key from closing a detached editorNEW
388311JUNO j2ee ide is not starting. throws an error saying to NEW
414369out of heap while building the workspace for most akka projects - fixed with increased heapNEW
389859duplicate Information in the Progress tab appears twiceNEW
363588New 'global debug toolbar' added to jee perspective by defaultNEW
362048eclipse java ee ide update problemNEW
306492The console and the editor cannot display the character exactlyNEW
265948It is not possible to uninstall any component from eclipse bundle (e.g. j2ee)NEW
309935When started Eclipse displays a message: the Eclipse executable launcher was unable to locate its companion shared libraryNEW
320614Update of Java EE IDE fails due to missing dependency on MylynNEW
361062Periodic workspace saveNEW
239377Could improve 'how to get source' instructionsNEW
414663IDE fails to load [Mac] after updateNEW
470430Oomph preference recorder causing unexpected resultsNEW
466103M6 downloads available today are invalid packages for OSX. I have tried from different mirrors.NEW
460941dark theme breaks on JEE views and featuresNEW
462517An error has occurred. See error log for more details.NEW
459313Eclipse crashesNEW
459163Update problem - no repository - for Target Management HomeNEW
429321Include Mylyn Builds component in packagesNEW
429371j2ee mavenNEW
441843By default enable 'Refresh using native hooks' and 'Refresh on access'NEW
464007Improve Welcome/About descriptionNEW
367258Duplicate parameters in eclipse.ini fileASSIGNED
498145Bundle-Vendor/Bundle-Name not properly externalizedASSIGNED
471683EGit Error on every Save operation - An internal error occurred during: 'Computing Git status for repository ..'REOPENED
428098'Invalid' message when trying to unzipREOPENED

Bugs listed in italics indicate the bug has been moved to another project.


Bug IDTitleStatus
22661320080410-1900 brokenVERIFIED
276608tm.terminal should not include source, to save spaceVERIFIED
316420use package icon on web pageRESOLVED
323045The MD5 given for this download does not matchRESOLVED
315701webtools/updates site needs to be changedRESOLVED
314969add jsf feature to Java EE IDE packageRESOLVED
312527eclipse-jee-helios-M7-win32 doesn't include the JAX-WS toolRESOLVED
328948EclipseGalileo Hanging frequently.RESOLVED
330867EE package includes PDE indirectly, but should be directRESOLVED
349073'Too many open files' during signing check, while installing more stuffRESOLVED
350150Include m2e as part of this packageRESOLVED
344903Welcome screen has some out-of-place (out dated?) itemsRESOLVED
343270Update JEE package with new Dali Common featuresRESOLVED
333300only 'Generic' displayed in the extension pointRESOLVED
312353restore capability bundlesRESOLVED
311610[Java EE package] Community and JPA links in welcome page goes to a 'Not Found' pageRESOLVED
280566add capabilities (and preferences)RESOLVED
280653Welcome Page: Standard links are not working (Samples, Tutorials, ..)RESOLVED
279201update site list is not correct in packageRESOLVED
278469Runtime-only features should not be installed in an IDERESOLVED
278274improved about box graphicRESOLVED
280654Welcome Page: Standard links are not working (Samples, Tutorials, ..)RESOLVED
280655Welcome Page: Standard links are not working (Samples, Tutorials, ..)RESOLVED
353703Cannot update Eclipse Platform in JEE packageRESOLVED
304451javax.transaction is configured as framework extensionRESOLVED
300913remove references to uncertain capabilities bundlesRESOLVED
280710progress message steps on image textRESOLVED
278204splash progress text should be whiteRESOLVED
387136Include egit as part of Java EE PackageRESOLVED
514206Include EclEmma in JavaEE packageRESOLVED
520600Exit 13RESOLVED
512009Add angularJS toolsRESOLVED
503321Update does not workRESOLVED
500188Virtual Machine IssueRESOLVED
528430m2e to download sources by defaultRESOLVED
533441Hibernate tools crash to read metadata from SQL server 2014 with sqljdbc4.jar and authx64sqljdbc_auth.dllRESOLVED
543563Can't install plugging JautoDocRESOLVED
547647Check for updatesRESOLVED
539339Rename 'Eclipse IDE for Java EE developers' to 'Eclipse IDE for Enterprise Java developers'?RESOLVED
537514Regression: Java 10 support missing from WTP Photon 4.8.0RESOLVED
534618[Tips] [Photon] [jee] Include Tip of the DayRESOLVED
496365Not able to download set up eclipse jee juno SR1RESOLVED
493596[Welcome] Adopt Solstice theme for JEE packageRESOLVED
413545Kepler Java EE package missing key m2e bundlesRESOLVED
414370scalaRESOLVED
407108ECLIPSE_.RSA in org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar does not match the one from Eclipse Juno SR1 (4.2.1)RESOLVED
398422JEE Package displays git configuration dialog on startupRESOLVED
278158need build to handle about.mappings?RESOLVED
429370Updating EPP Java EE Windows package from Kepler SR1 to SR2 failsRESOLVED
461652Eclipse would not launch, returned exit code=13RESOLVED
487397Chrome V8 debugger is crashing on console outputRESOLVED
492028Add optional chromium Debugger feature to JEE EPP for NeonRESOLVED
478181Include Buildship as part of JavaEE PackageRESOLVED
477914Mars can't connect to Websphere v 8.5.xRESOLVED
469665erro oracle packRESOLVED
363589still seeing some pollution of update sites in Java EE M3RESOLVED
281039the What's new link on the Welcome page does not workRESOLVED
248051Perspective TabRESOLVED
248494IDE for Java EE Developers won't start on 64-bit VistaRESOLVED
247389Why are not all JEE Project upate sites enabled?RESOLVED
242191Ganymede JEE Package dist for MacOSX has old 'Software Updates' componentRESOLVED
239275packages should enable all their primary update sites (by default)RESOLVED
241596Equinox p2 installer failed to install eclipse-java-ganymede-win32.zipRESOLVED
249885Package fails after update because there is no metadata for the launcher.libraryRESOLVED
278157Need build to pickup 'welcome' bundleRESOLVED
260616PROBLEM with Eclipse Ganymede UPDATERESOLVED
264465org.eclipse.pde.p2 feature should be in eclipse-jee-ganymedeRESOLVED
259813Default Eclipse distro cannot upgradeRESOLVED
259686Automatic updates fail.RESOLVED
258581X86_64 release can not be unzip & untar with X86_64 linuxRESOLVED
238280Missing DTP features in initial JEE 3.4 releaseRESOLVED
237652Crashes on startupRESOLVED
231974Ganymede M7 first startup takes several minuts and bundled plugins are not detectedRESOLVED
232269Pre-installed packages are not installed. And cannot be eitherRESOLVED
231078JEE package update to Ganymede M7RESOLVED
227870icu4j jar packaged in the JavaEE install is different from the M6/M6aRESOLVED
227351Need to filter out TPTP features from Mac. distributions.RESOLVED
227711missing program iconRESOLVED
233009JEE package configuration updatesRESOLVED
234533added forgotten feature, EclipseLink Support to JEERESOLVED
237424datatools doc error in JEE packageRESOLVED
237425Warning logged about undefined tm.terminal commandRESOLVED
23742364 bit package opens to Java PerspectiveRESOLVED
235338Weird Small WindowRESOLVED
235089Package is missing 'capabilities'RESOLVED
265912md5 files are 'hard to read'RESOLVED
250523Ganymede hangs when clicking View Error LogRESOLVED
278141No build ID in about dialog of JEE 3.5rc1 packageRESOLVED
276417externailize strings for jee bundleRESOLVED
278142No Capabilities Preference Page in JEE 3.5rc1RESOLVED
275817Eclipse says 'Java EE IDE Package' as application nameRESOLVED
276415Another rev of featureRESOLVED
269915New&Noteworthy for DSDP-TM missing on JEE EPP Ganymede SR2 pageRESOLVED
277394remove pde from jee package or default 'on' capabilties.RESOLVED
277775Some start to product customizationRESOLVED
277863Missing Eclipse Icon under LinuxRESOLVED
275596default workspace is wrong directoryRESOLVED
275389A few language improvements for M7RESOLVED
272947Addition of EclipseLink Galileo bundles to the Java EE packageRESOLVED
271748There is no xsd and xsd.edit feature in the jee Galileo M6 packageRESOLVED
276606DTP features should not include source, to save sizeRESOLVED
278152should not jar up product pluginRESOLVED
274638Problem while installing Eclipse UpdatesRESOLVED
276609jst and wst features should be expandedRESOLVED
275375Unusual exception logged on startupRESOLVED
278145Jee 3.5rc1 has no window iconRESOLVED
306624Error logged on Help > Install due to file:// repositories leaked into packageCLOSED
191557Eclipse Tools for Java Enterprise Development contains too muchCLOSED
277364'eclipse' symlink present in eclipse-SDK download is missing from packageCLOSED
279254Welcome page links don't work without Internet ConnectivityCLOSED
540983why no Eclipse IDE for Java EE Developers releases in milestone builds?CLOSED
278154eclipse.ini has wrong splash screenCLOSED
538661Upgrade to Eclipse 2018-09 M3 breaks SQL editor.CLOSED
238541Download page doesn't detect 64 bit linux, and offers 32bit downloadCLOSED
525617Eclipse Build download is failing - servers are downCLOSED
278140Help contents not available in JEE 3.5rc1 packageCLOSED
518583There was an eclipse platform Oxygen RC4a build, but the latest EPP is RC3.CLOSED
468874Unsigned Content warning due to javax.persistence when installing JEE package with eclipse-installerCLOSED
417632Rename JEE packed into 'Web Development ' ?CLOSED
419334Kick PDE out of JEE packageCLOSED
422747add code recommenders to jee packageCLOSED
317003Ganymede-jee-64Bit-Linux-Download brokenCLOSED
385028Java EE package should say it requires a 1.6 JRECLOSED
338601Update JEE package with new Dali feature namesCLOSED
358808EULA for the package does not match the other onesCLOSED
374545javax.transaction plugin is not being loaded.CLOSED
424291Cannot install remote marketplace locationsCLOSED
247698RSE Terminal uses ugly fonts in JEE packageCLOSED
462087The JEE package refer to outdated TM Terminal featuresCLOSED
477947Unable to install SOAP UI PluginCLOSED
312197WebPage Editor don´t recognize EL 2.2 method call with parameterCLOSED
313517Add MPC to the JEE packageCLOSED
459007Eclispe is damn slow.CLOSED
435447NPE in ReadManagerCLOSED
436627Fatal Error starting EclipseCLOSED
436896Unusual URISyntaxException exception in log first time help is indexedCLOSED
486131can't extract eclipseCLOSED

Bugs listed in italics indicate the bug has been moved to another project.


File a Bug on this Package

New and Noteworthy

Eclipse Webtools Project
Eclipse Platform
Eclipse Mylyn
EGit
M2E-WTP
Eclipse Target Management (RSE)

Testing Details

Package Testers
David Williams
Chuck Bridgham
Martin Oberhuber
Summary

Discusses OSGi concepts and provides information about the AEM Eclipse plug-in to create an AEM project.

A special thank you to Kalyan Venkat a member of the AEM community for contributing content that is used in this article.

A special thank you to Ranta Kumar Kotla, a top community member, for testing this Community Article.

In addition to reading this article, it is also recommended that you watch the following Ask the AEM Community Experts session on using the Eclipse Plug-in and Brackets.

Digital Marketing Solution(s)Adobe Experience Manager (Adobe CQ)
Audience
Developer (beginner - intermediate)
Required Skills
JCR nodes, JavaScript, HTML
Tested OnAdobe Experience Manager 6.x

Note:

The following software should be installed:

• Java 7 or 8

• Adobe Experience Manager 6+

• Maven 3+ http://maven.apache.org

• Eclipse IDE for Java EE Developers https://eclipse.org/downloads/

• The AEM extension for Eclipse https://docs.adobe.com/docs/en/dev-tools/aem-eclipse.html

Adobe Experience Manager (AEM) is developed using frameworks such as OSGi and Apache Sling. OSGi defines a dynamic component that is written in Java. These specifications enable a development model where dynamic applications comprise of reusable components. The OSGi specifications enable components to hide their implementations from other components while communicating through services, which are objects that are specifically shared between components. For more information, see OSGi Architecture.


This article provides overview information about OSGi bundles and then covers how to create an AEM project by using the AEM Eclipse plug-in.

As an AEM developer, it is important that you are familiar with these Sling annotations:

  • @Component
  • @Service
  • @Reference
  • @Property

For more information about these annotations, see SCR Annotations.

It is also important that you understand the difference between components and services.

The classical view of a service is nothing but work done for another part of AEM. So is it similar to a method call? The answer is no. How does a service differ from a method call?

A service implies a contract between the provider of the service and its consumers. Consumers typically are not worried about the exact implementation behind a service (or even who provides it) as long as it follows the agreed contract, suggesting that services are to some extent substitutable. Using a service also involves a form of discovery or negotiation, implying that each service has a set of identifying features.

An AEM back-end component refers to managing the life cycle of a class in an OSGi environment. All OSGi services should be a component so that AEM handles the life cycle of a service. For example, the AEM handles when the component is activated, stopped, and so on.

You can write an AEM service by developing a Java interface and implementation class. The implementation class uses the @Component and @Service annotations. Typically, you build an OSGi bundle by using Maven and an Adobe Archetype. For information, see Creating your first AEM Service using an Adobe Maven Archetype project.

AEM comes with a component framework called declarative services. OSGi bundles contain configuration files located at: OSGI-INF/servicecomponents.xml. A configuration file looks like the following illustration.


This is a configuration file that an OSGi bundle understands. This file is populated by using SCR annotations (for example, @Service) in the implementation class.

By using Dependency Injection within AEM, you can inject an AEM Service into another service. You perform this task by using a @Reference annotation. For example, consider an AEM DataSourcePool. You can inject that into another AEM service so that the service can perform SQL operations on a database. For information about using Dependency Injection, see Injecting a DataSourcePool Service into an Adobe Experience Manager OSGi bundle.

There can be multiple implementations for a given interface which means there can be multiple implementations for a service. If there are multiple implementations and the consumer is interested about a particular implementation, there are ways to select it by using OSGi properties.

If nothing is specified, then the implementation with the highest ranking is selected. In some scenarios, there is a chance of having the same service ranking in that case OSGi considers service identifier. Because the service identifier is an increasing number assigned by the framework, lower identifiers are associated with older services. So if multiple services have equal ranks, the framework effectively chooses the oldest service, which guarantees some stability and provides an affinity to existing services.

The following code shows an implementation example. There is interface named HelloWorld which contains the sayHello method. The implementation class is named HelloWorldImpl1 and contains an implementation sayHello method with service rankings 1000 and 1001 respectively. Now when this service is referenced the service with the highest ranking is selected.

The following Java code represents the implementation class.

Eclipse For Mac Aem

The following represents the other implementation class.

This raises a question what if new service implementation called HelloServiceImpl3 with the service ranking 1002 is deployed. In this case all the services which are bind to the HelloWorldImpl2 until they are reinitialized. The easiest way to bind to new service is restart the component which is using that service or restart the bundle.

There can be multiple implementations of a service. So while referencing cardinality plays two roles in the Declarative Services specification:


1. Optionality: Cardinality values starting with 0 are treated as optional, whereas values starting with 1 are treated as mandatory.

2. Aggregation: Cardinality values ending with 1 are treated as a dependency on a single service object of the specified type, whereas values ending in n are treated as a dependency on all available service objects of the specified type. This leads to four different possible values:

  • 0.1 – Optional and unary
  • 1.1 – Mandatory and unary (Default)
  • 0.n – Optional and multiple
  • 1.n – Mandatory and multiple

3. Optional Vs Mandatory: If the Optionality value is “0” then the service, which is referencing is active even if the referenced service isn’t available. If the value is “1” then the referencing service is active if and only if the referenced service is active.

4 Unary Vs Multiple: If the aggregation value is “1” then it is bounded to singular dependency. This service selection again depends on service ranking or service identifier. If the value is” n” then it is requesting for aggregate dependency this will take all the service implementations. This is a special case and should be handled differently with the code as shown in the below code snippet.

In the above code bind and unbind methods, there are multiple calls. Each call is a helloWorld implementation that was found in the service registry that matched HelloWorld and all the implementation classes are added to a list. This list can be used to retrieve all the implementation classes.

What is reference policy while referencing a service?

AEM OSGi bundles are dynamic (which means that services can come and go on the fly). Therefore a service might be deregistered while it’s been referenced or might come back at any moment.To handle this possible situation, OSGi provides two types of reference policies:

  • Static (default)
  • Dynamic

When a static service is been referenced, a new instance is injected. This means

before using this referenced service, if it is being unregistered from the
service registry, SCR by default does not dynamically change the value of a
service reference. Instead, it discards the component instance and creates a
new instance (So on the fly it had replaced implementation class with the null
value). If the component is also published as a service then the service
registration is removed and replaced.

Consider the following code example.

Downloads ending for the Sony Raw Driver and some versions of PlayMemories Home, Action Cam Movie Creator, and MVR Studio. Mac OS X & later; Windows Vista & older. USB Driver for Connection Release Date:. Support by Sony App. Get notifications about the latest firmware updates, product alerts, and more. Sony handycam drivers. Downloads ending for the Sony Raw Driver and some versions of PlayMemories Home, Action Cam Movie Creator, and MVR Studio. Mac OS X & later. How to download and install updated USB drivers for the Camera/Camcorder and Memory Stick® reader. SONY HANDYCAM DCR-TRV270E DRIVERS FOR MAC - Adjusting The Exposure Manually Find information and receive instant notifications about your product. Setting The Date And Time If I order this adapter now, when will it be delivered? SONY DCR-TRV270E USB DRIVER FOR MAC - Burst Record Auto Exposure Bracketing. Get access to all information, keep your product up to date and enjoy great deals. We recommend downloading and installing the latest version of one of the following browsers: It looks like JavaScript is disabled in your browser.


Assume that HelloWorldImpl2 component is stopped. As soon as the component is stopped, it discarded the component instance and created a new one. Now what if the referenced service comes back?
Because it’s a static reference policy this component cannot bind newly created service reference. This component can be recreated to get it bind to the new service.

Dynamic policy simply informs SCR that ourcomponent is capable of being updated with changing references. But code shouldhandle synchronization problems and should be careful while doing this.If a service reference is having dynamic policy then ideallywe should have a bind and unbind methods. A bind method will be called and areference is injected as a parameter. So inside the bind method reference hasto be assigned to the local variable.

@Reference(bind = 'bind', unbind = 'unbind', policy =ReferencePolicy.DYNAMIC, cardinality=ReferenceCardinality.OPTIONAL_UNARY) HelloWorldhelloWorld;

LOG.info('-----------------binding---------------------'); this.helloWorld = helloWorld; }

Now even though a referenced service goes off as we haveassigned it to a local variable (helloWorld) it will be still exist until thecomponent gets destroyed.Now what if the referenced service comes back?Because it’s a dynamic reference policy, this componentbinds to the new service on the fly.

Note:

If the side panel on the left side of the screen is not visible, click the Toggle Side Panel button (furthest to the left) in the top toolbar.

Using the AEM Eclipse Plug-in to set up an AEM Project

This section walks you through how to create an AEM project using the AEM plugin.

Adobe has released an Eclipse plugin that lets you develop AEM projects. You can use the plugin to develop OSGi bundles, Components, Templates and Content. The plugin integrates with an AEM instance and all the changes can be deployed directly on an AEM server.

To install the AEM Plugin in Eclipse (Eclipse Luno), perform these steps:

1. Goto Help, Install New Software.…
2. Click Add and enter http://eclipse.adobe.com/aem/dev-tools/ in Location and click OK.



Step 3: Select both ‘AEM’ and ‘Sling’ and Click ‘Next’.


Step 4: Click Finish and restart Eclipse.

Now, you are ready to create an AEM project.

You can create a new project by performing these steps:

1. Open the Eclipse IDE.

2. Switch to the AEM perspective, to have the panels arranged in a convenient way: Menu Window –> Open Perspective –> Other… –> AEM –> OK.

3. Click on the new project icon.

4. Select AEM –> AEM Sample Multi-Module Project.

5. Select version 10 of the Maven Archetype, which is a blueprint used for the project that is going to be created.


6. Enter the project details:

  • Name: Summit Lab
  • Group Id: org.summit
  • Artefact Id: lab

7. Configure the Server:

  • Server name: AEM Development Instance
  • Host name: localhost
  • Port: 4502
  • Username: admin
  • Password: admin
  • Debug Port: 10123

It will take a minute for creation of the project to complete and when it is done, it should look like:


Verify that the project got synchronized to the instance by checking the presence of the Summit Lab site:

  1. In the left navigation rail, go to Sites.
  2. Navigate to the “Summit Lab Site” page by clicking on its card (located at the bottom of the list).
  3. On the “English” page click the pencil icon of its card (displayed when hovering it with the mouse).

The page you see should resemble the following illustration.


Note:

In case the AEM page does not appear, try performing a Clean and Publish operation in Eclipse. For a full explanation of the default files created by a Maven Archetype 10, see Creating your first AEM 6.2 Project using Adobe Maven Archetype 10.

Please refer to the AEM community page for other articles that discuss how to build AEM services/applications.

Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices Online Privacy Policy