Зависимость Maven без версии в имени файла

#java #maven #pom.xml

#java #maven #pom.xml

Вопрос:

У меня есть проект Maven Java, и я пытаюсь включить зависимость, у которой нет версии как части имени файла. Зависимость содержала это в своем pom-файле, чтобы создать имя файла без версии:

 <build>
        <finalName>${project.artifactId}</finalName>
 

Jar зависимостей находится в com/example/foobar/1.0.0/foobar.jar

У меня есть зависимость в моем файле pom, установленная как:

 <dependency>
  <groupId>com.example</groupId>
  <artifactId>foobar</artifactId>
  <version>1.0.0</version>
</dependency>
 

Всякий раз, когда я пытаюсь выполнить сборку, Maven добавляет версию к имени файла, которое он ищет, и не может его найти, выдавая мне следующие сообщения:

Загрузка из maven-репозиториев: com/example/foobar/1.0.0/foobar-1.0.0.jar

Не удалось разрешить зависимости

Что я могу сделать, чтобы получить эту зависимость?

Комментарии:

1. Можете ли вы поделиться ссылкой на эту библиотеку в репозитории?

2. Я не уверен, но finalName это никак не влияет на имя файла артефакта в репозитории. Или это так?

3. Кроме того, вы уверены, что добавили все репозитории, которые собираетесь использовать, и хотя бы один из них содержит артефакт, который вы собираетесь использовать ( с правильным расположением каталогов, именами файлов и т. Д.)?

4. @jnorman Интересно. Я только что нашел дополнительную опцию для добавления репозитория, называемую layout . Я никогда не слышал об этом раньше. Что, если вы попытаетесь переключить его legacy , как упоминалось, на maven.apache.org/pom.html#Repositories ?

5. Это <finalName> ..</finalName> только для изменения имени в target/ каталоге и ничего больше. Очень полезно в связи с созданием образов docker.