Вы можете использовать что-то вроде ниже:
<profile>
<id>default</id>
<properties>
<env>default</env>
<myProperty>someValue</myProperty>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
Это может сработать для вас:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugin>
<configuration>
<param>Foo</param>
</configuration>
</plugin>
</build>
...
</profile>
<profile>
<id>notdefault</id>
...
<build>
<plugin>
<configuration>
<param>${myProperty}</param>
</configuration>
</plugin>
</build>
...
</profile>
</profiles>
Таким образом,
mvn clean
будет использовать «foo» как параметр по умолчанию. В случаях, когда вам нужно переопределить, используйте mvn -P notdefault -DmyProperty = something
подход Тейлора Л. работает нормально, но вам не нужен дополнительный профиль. Вы можете просто объявить значения свойств в файле POM.
<project>
...
<properties>
<!-- Sets the location that Apache Cargo will use to install containers when they are downloaded.
Executions of the plug-in should append the container name and version to this path.
E.g. apache-tomcat-5.5.20 -->
<cargo.container.install.dir>${user.home}/.m2/cargo/containers</cargo.container.install.dir>
</properties>
</project>
Вы также можете установить свойства в своем файле user settings.xml в том случае, если вы хотите, чтобы каждый пользователь мог устанавливать свои собственные значения по умолчанию. Мы используем этот подход, чтобы скрыть учетные данные, которые CI-сервер использует для некоторых подключаемых модулей, от обычных разработчиков.