Using Object Teams with Maven3

Declaring org.eclipse.objectteams:objectteams-otdre-parent-pom as the parent of your project will add basic capabilities for using OT/J in your sources.

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

    This variant will use the new weaving scheme OTDRE. Simply changing the above from objectteams-otdre-parent-pom to objectteams-parent-pom will select the traditional OTRE.


The above steps suffice to let you

  • use OT/J syntax in your .java sources and have it compiled just like plain Java.
  • run OT/J programs via surfire, e.g., as JUnit tests. A predefined <surefire.argline> is used that ensures that all required jars are on the classpath and the OT/J agent is activated.

Override inherited declarations

The following declarations, although inherited from objectteams-parent-pom should be overridden per project:

  • <scm>
  • <url>
  • <distributionManagement><site>

Note that Maven doesn't cope well with declarations depending on properties like <project.artifactId> when this declaration is inherited from a project's parent.


See the full source of pom.xml.