Как я могу остановить диапазоны версий maven от использования моментальных снимков

Я использую диапазоны версий в моем maven POM:

<version>[3.0.0,)</version>

и для этого конкретного артефакта существует версия 3.0.0 в репо и 3.0.1-SNAPSHOT. Когда я пытаюсь выполнить выпуск, он терпит неудачу, поскольку используется версия SNAPSHOT.

Я попытался обойти это, отредактировав файл настроек, чтобы отключить использование моментальных снимков, но он все равно не работает:

<repositories>
    <repository>
        <id>EFX Nexus Repository</id>
        <url>myUrl</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

Спасибо

Ответы

Ответ 1

Это основная проблема с maven.

Когда вы запускаете несколько команд в одной строке..say версии mvn: разрешить диапазоны чистой установки... он будет извлекать SNAPSHOT, когда выпускаете сборку.

Попробуйте выполнить отдельное выполнение команды.

сначала запустить mvn-версии: разрешить диапазоны, а затем clen install

Ответ 2

Я думаю, что версия артефакта SNAPSHOT достигла вашего локального репозитория maven (в ~/.m2), прежде чем отключить моментальные снимки в <repositories>. Теперь Maven не может загружать моментальные снимки, но он все еще может использовать их из локального хранилища.

Очистите каталог ~/.m2 и повторите попытку.