Using the Object Teams Parent POM

Declaring this module as the parent of your project will add basic capabilities for using OT/J in your sources.

Weaving schemes OTRE vs. OTDRE

This pom supports the traditional weaving scheme OTRE. For OTDRE please use org.eclipse.objectteams:objectteams-otdre-parent-pom instead.

Include the parent pom

For simple cases two declarations in your pom will suffice:

  1. declare the maven repository for fetching Object Teams related modules
                            <name>Object Teams Repository</name>
  2. declare the parent pom

    Starting with version 2.1.1 the parent pom also supports using OT/J in tycho builds (projects using OSGi).


See the objectteams-compile-test project for an example of how to use this parent pom.

Under the hood

Standard OT/J dependencies documented

All OT/J projects using the objectteams-parent-pom implicitly depend on the following artifacts which are developed independent of maven and simply repackaged using the org.eclipse.objectteams:objectteams-artifact-deployer module:

the Object Teams runtime (minimal OT/J API) repackaged from the org.eclipse.objectteams.runtime OSGi bundle.
the Object Teams Runtime Environment (the bytecode weaver) repackaged from the org.eclipse.objectteams.otre OSGi bundle.
the Java agent that hooks the Object Teams runtime into the JVM (repackaged from file otre_agent.jar from the org.eclipse.objectteams.otdt project).
a compatible replacement for org.eclipse.tycho:org.eclipse.jdt.core that enables the org.eclipse.tycho:tycho-compiler-jdt plugin to compile OT/J sources.

The following module is indirectly used:

the original apache bcel Byte Code Engineering Library.