#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.