Свойство mvn не переопределяется с опцией -D - PullRequest
1 голос
/ 19 октября 2019

В моем файле pom.xml есть свойство для protocPath:

    <properties>
        <protobuf.version>3.6.1</protobuf.version>
        <build.root.dir>${project.basedir}/..</build.root.dir>
        <build.output.dir>${build.root.dir}/build</build.output.dir>
        <protocPath>/usr/local/bin/protoc</protocPath>
    </properties>

Я запускаю эту команду make mvn-build, где у меня есть CMakeLists.txt

add_custom_target(
  mvn-build
  COMMAND mvn -s
            -DPROTOC_PATH=$ENV{PROTOC}
            verify
)

$ENV{PROTOC} разрешается в некоторый смонтированный путь, т.е. не /usr/local/bin/protoc.

Я получаю эту ошибку. Почему он пытается использовать protoc в /usr/local/bin/protoc, а не тот, что в $ENV{PROTOC}?

[ERROR] Failed to execute goal org.xolstice.maven.plugins:protobuf-maven-plugin:0.6.1:compile (default) on project ntnxdb-client-proto: An error occurred while invoking protoc: Error while executing process. Cannot run program "/usr/local/bin/protoc": error=2, No such file or directory -> [Help 1]

РЕДАКТИРОВАТЬ Я изменил на ниже и все еще та же ошибка:

add_custom_target(
  mvn-opt ALL
  WORKING_DIRECTORY ${NTNX_TOP_SOURCE_DIR}
  COMMAND mvn
            -DPROTOCPATH=$ENV{PROTOC}
            verify
)

1 Ответ

1 голос
/ 22 октября 2019

Свойства Maven действительно чувствительны к регистру, поэтому вам придется использовать -DprotocPath=... для того, чтобы переопределить значение.

В разделе Properties есть четкая подсказка об этом. ссылка на Pom в документе Maven:

Примечание. Хотя сами переменные среды не чувствительны к регистру в Windows, поиск свойств чувствителен к регистру .

(Болдинг мой).

Вы также можете легко проверить это, используя, например, настройку verbose для подключаемого модуля maven-compiler:

mvn clean compile -Dmaven.compiler.verbose=true

против

mvn clean compile -Dmaven.compiler.VERBOSE=true

Толькобывшие работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...