The "UberJar" is the informal name given to a special Java Archive (JAR) file provided by Adobe. This JAR file contains all of the public Java APIs exposed by Adobe Experience Manager. It includes limited external libraries as well, specifically all public APIs available in AEM which come from the Apache Sling, Apache Jackrabbit, Apache Lucene, Google Guava, and two libraries used for image processing (Werner Randelshofer's CYMK JPEG ImageIO library and the TwelveMonkeys image library). The UberJar only contains API interfaces and classes, meaning that it only contains interfaces and classes which are exported by an OSGi bundle in AEM. It also contained a MANIFEST.MF file containing the correct package export versions for all of these exported packages, thus ensuring that projects built against the UberJar have the correct package import ranges. To use the new JAR:
If you are using Apache Maven as a build system (which is the case for most AEM Java projects), you will need to add one or two elements to your pom.xml file. The first is a dependency element adding the actual dependency to your project:
< dependency > < groupId >com.adobe.aem</ groupId >
< artifactId >uber-jar</ artifactId >
< version >6.1.0</ version >
< classifier >obfuscated-apis</ classifier >
< scope >provided</ scope >
</ dependency >
|
|
Adobe produces two different versions of the UberJar. There is an obsfucated version available on https://repo.adobe.com/ without any authentication requirement. This is easy to access and meets many needs. We also make an unobsfucated version available to customers and partners upon request. To request this version, customers and partners need to create a DayCare ticket. They will provide you with the unobsfucated UberJar. Ideally, you will then deploy this onto a Maven Repository Manager private to your company, but it may be distributed to individual developers if necessary.