Я пытаюсь заставить работать структуру bnd tools (началось с урока https://bndtools.org/tutorial.html)
Добавлено использование javax.vecmath (простая библиотека, как Я мог бы подумать) в cnf / central.maven file
javax.vecmath:vecmath:1.5.2
и добавил его для построения пути в org.example.impl со всем разрешением просто отлично .
У меня есть форк этой библиотеки в артефакте jFrog, работающем на удаленном сервере, поэтому следующим шагом было определение этого хранилища при добавлении cnf / build.bnd (как описано в https://bnd.bndtools.org/plugins/maven.html)
-plugin.10.Remote = \ aQute.bnd.repository.maven.provider.MavenBndRepository; \ releaseUrl=https://artifactory.website.com/artifactory/libs-release-local/; \ snapshotUrl=https://artifactory.website.com/artifactory/libs-snapshot-local/; \ index=${.}/release.maven; \ name="Maven Remote"
и соответствующие ссылки в cnf / release.maven
javax.vecmath:vecmath:2.1.5
При добавлении этой библиотеки в путь сборки я получаю ошибку "2.1 .5 [Не удалось получить javax.vecmath: vecmath: 2.1.5] "без дополнительной информации.
Я подумал, что единственная разница между maven central и моим артефактом должна заключаться в .m2 / settings . xml с учетными данными (в соответствии с https://bnd.bndtools.org/instructions/connection-settings плагин должен выглядеть там в первом месте e).
Конфигурация, которая работает для maven в eclipse (когда я открываю проект maven с зависимостью vecmath 2.1.5, он без проблем перетаскивается в .m2 / repository / javax / vecmath / vecmath / 2.1.5 и, как только он там разрешается bnd)
<?xml version="1.0" encoding="UTF-8"?> <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <servers> <server> <username>username</username> <password>roigonsdnglosgnoisfgnsdjgnlafjksasgnl</password> <id>central</id> </server> <server> <username>username</username> <password>roigonsdnglosgnoisfgnsdjgnlafjksasgnl</password> <id>snapshots</id> </server> </servers> <profiles> <profile> <repositories> <repository> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <name>libs-release</name> <url>https://artifactory.website.com/artifactory/libs-release</url> </repository> <repository> <snapshots /> <id>snapshots</id> <name>libs-snapshot</name> <url>https://artifactory.website.com/artifactory/libs-snapshot</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <name>libs-release</name> <url>https://artifactory.website.com/artifactory/libs-release</url> </pluginRepository> <pluginRepository> <snapshots /> <id>snapshots</id> <name>libs-snapshot</name> <url>https://artifactory.website.com/artifactory/libs-snapshot</url> </pluginRepository> </pluginRepositories> <id>artifactory</id> </profile> </profiles> <activeProfiles> <activeProfile>artifactory</activeProfile> </activeProfiles> </settings>
Из этого кажется, что у bnd нет проблем с загрузкой из центрального хранилища maven в локальный репозиторий m2 и использованием его оттуда, но не может подключиться к моей артефакте. Я пропускаю какие-то настройки клавиш или разницу?
Закончилось решение проблемы с помощью https://groups.google.com/forum/#! Forum / bndtools-users Обнаружив две (три?) Проблемы с моей конфигурацией.
Правильная форма для определения репозитория в build.bnd кажется
-plugin.10.Remote: \ aQute.bnd.repository.maven.provider.MavenBndRepository; \ releaseUrl=https://artifactory.website.com/artifactory/libs-release-local/; \ snapshotUrl=https://artifactory.website.com/artifactory/libs-snapshot-local/; \ index=${.}/release.maven; \ name="Maven Remote"
Поиск в https://bnd.bndtools.org/instructions/connection-settings конфигурации аутентификации сервера для bnd отличается от конфигурации maven (0.3.4 по некоторым причинам Я пропустил эту часть)
<server> <username>username</username> <password>roigonsdnglosgnoisfgnsdjgnlafjksasgnl</password> <id>https://*website.com</id> </server>
и bnd сначала ищет параметры подключения в .bnd , если их нет, затем в .m2 , но если в .bnd есть неправильные / недостаточные настройки, он не выглядит в .m2 , даже если он содержит правильные / достаточные значения.
The default order in which bnd looks for settings is: `~/.bnd/connection-settings.xml` `~/.m2/settings.xml`