maven каталоги локальных репозиториев с долларовым именем - неразрешенные свойства? - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время я отлаживаю досадную ситуацию maven, в которой простое

mvn dependency:tree

жалуется

The POM for com.bitplan.java:com.bitplan.bobase:jar:${bobase.version} is missing, no dependency information available

Так что похоже, что свойство где-то не определено.Но соответствующий родительский pom явно имеет:

<properties>
    <bobase.version>0.0.2</bobase.version>
</properties>

Что более интересно, я даже не ссылаюсь ни на один соответствующий файл с таким объявлением напрямую.

В процессе этого несчастного случая влокальный репозиторий каталог:

./com/bitplan/java/com.bitplan.bobase/${bobase.version}

.Поэтому мне стало любопытно, и я посмотрел, есть ли еще такие:

 cd $HOME/.m2/repository
 find . -type d | grep "\\$"

дает мне около 27 результатов, например

./net/sourceforge/htmlcleaner/htmlcleaner/${htmlcleaner.version}
./junit/junit/${junit.version}
./junit/junit/${junit4.version}
./org/hamcrest/hamcrest-all/${hamcrestall.version}
./org/apache/commons/commons-lang3/${commons.version}
./commons-io/commons-io/${commons-io.version}
./commons-io/commons-io/${commons.io.version}
./args4j/args4j/${args4j.version}

Я понимаю только один из случаев - обыкновенные.io.version one - это была опечатка, и я исправил это.Все остальные переменные должны быть разыменованы нормально, и таких каталогов не должно быть.

Что вызывает такое поведение maven и как его можно избежать?

Я нашел только одинОтвечающий на вопрос:

, но это не дало мне никакой полезной подсказки

отладка

find . -type d -name "*\$*" -exec echo -n {} \; -exec stat -f %Sm -t " "%Y-%m-%d {} \;

показывает время последнего изменения каталогов.Например,

./junit/junit/${junit.version} 2018-08-22
./junit/junit/${junit4.version} 2017-05-28

, так что в моем случае проблема, кажется, случается время от времени.

1 Ответ

0 голосов
/ 21 сентября 2018
 mvn deploy

родительского pom необходимо, если версия pom не была обновлена.

 mvn install

недостаточно.Разрешение переменных будет сделано на «старых» настройках из репозитория.

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