This module has been designed to be compiled by Maven. The common architecture of a Maven project is the following MyProject |_ Common-ejb |_ Common-ui | |... |_ MyProject-ear |_ MyProject-ejb |_ MyProject-persistence |_ MyProject-ui |_ pom.xml |_ profiles.xml 1) All modules (including ear, ejb, persistence and ui) must be declared in the pom.xml of the parent project. Respect the order of compilation when declaring them MyProject-persistence Common-ejb-maven module1-ejb MyProject-ejb Common-ui-maven module2-ui MyProject-ui MyProject-ear 2) Each module must declare its parent in its pom.xml MyProjectArtifactId net.ihe.gazelle MyProjectVersion MyProject Concerning the version of the parent project, you can use a variable which will be taken from the profiles.xml of the parent 3) MyProject/profiles.xml contains all the constants which can be used in pom.xml of the children by declaring ${my.variable} 4) Before starting using this module, you must create Common-ui/pom.xml by copying the Common-ui/pom.tpl2xml Only modify the new pom.xml and do no commit it on the forge, it is relative to your project !!!