Перегрузка собственности Maven - PullRequest
6 голосов
/ 28 января 2011

У меня очень простой дескриптор maven, который определил некоторые свойства:

<?xml version="1.0"?>
<project
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/xsd/maven-4.0.0.xsd"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <properties>
    <it.port>8080</it.port>
  </properties>

</project>

Я могу переопределить свойство it.port командой:

$ mvn -Dit.port=8181 verify

Но следующая команда не работает должным образом:

$ MAVEN_OPTS="-Dit.port=8181" mvn verify

Эта системная переменная передается в JVM, но maven отказывается переопределять это свойство и значение по умолчанию, данное test (8080). Первоначальная проблема заключается в том, что TeamCity (сервер CI) передает системные переменные JVM в MAVEN_OPTS, поэтому переопределение свойств не работает.

Можно ли переопределить свойства maven с помощью переменной окружения MAVEN_OPTS?

1 Ответ

11 голосов
/ 28 января 2011

Нет, ты не можешь. Вы можете:

  • Используйте файл settings.xml на локальном компьютере, чтобы указать свойство
  • Использовать профиль в проекте pom
  • Используйте -D непосредственно в командной строке.
...