Вы должны использовать профили.
<profiles>
<profile>
<id>otherOutputDir</id>
<build>
<directory>yourDirectory</directory>
</build>
</profile>
</profiles>
И начните Maven с вашим профилем
mvn compile -PotherOutputDir
Если вы действительно хотите определить свой каталог из командной строки, вы можете сделать что-то вроде этого ( НЕ рекомендуется вообще ):
<properties>
<buildDirectory>${project.basedir}/target</buildDirectory>
</properties>
<build>
<directory>${buildDirectory}</directory>
</build>
И скомпилируйте так:
mvn compile -DbuildDirectory=test
Это потому, что вы не можете изменить целевой каталог с помощью -Dproject.build.directory