Конфигурация Qi4j Maven
В настоящее время я пытаюсь понять, как работает Qi4j. Поэтому я решил начать с простого примера. Я попытался использовать библиотеку Qi4j в своем файле pom.xml, и теперь сталкиваюсь с проблемой, что артефакт не может быть найден. Я использую NetBeans 7.0.1, и мои части pom.xml показаны ниже:
<repository>
<id>qi4j-official</id>
<url>http://repository.ops4j.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<dependency>
<groupId>org</groupId>
<artifactId>org.qi4j</artifactId>
<version>1.4</version>
</dependency>
Я делаю что-то не так? Большое спасибо.
3 ответа
Qi4j состоит из множества артефактов, чтобы уменьшить общую площадь, так как большинство приложений не будут использовать все биты и кусочки.
<groupId>org.qi4j.core</groupId>
содержит артефакты (по состоянию на 1.3)
<artifactId>org.qi4j.core.api</artifactId>
<artifactId>org.qi4j.core.spi</artifactId>
<artifactId>org.qi4j.core.runtime</artifactId>
<artifactId>org.qi4j.core.bootstrap</artifactId>
<artifactId>org.qi4j.core.testsupport</artifactId>
Для "компиляции" области видимости api и bootstrap должно быть достаточно. Тестсуппорт, очевидно, является областью "тестирования", и среда выполнения не должна использоваться вашим кодом и должна быть только зависимостью "среды выполнения".
<groupId>org.qi4j.library</groupId>
Библиотеки сильно различаются по полноте и качеству. Расширения могут зависеть от библиотек, но не наоборот.
<groupId>org.qi4j.extension</groupId>
Расширения реализуют медленно растущие функциональные возможности подключаемых модулей SPI; хранилища сущностей, индексация / запрос и кеширование. В следующем выпуске (2.0) будет больше расширений для сериализации значений и других.
Надеюсь, что это поможет, или обратитесь к сообществу Qi4j в Google Group qi4j-dev за дополнительной поддержкой.
Исходя из того, что я вижу в данном хранилище, groupId и artifactId совершенно разные...
http://repository.ops4j.org/maven2/org/qi4j/core/org.qi4j.core.spi/1.4/org.qi4j.core.spi-1.4.pom
Чтобы узнать, как зависеть от Qi4j в вашей сборке, посмотрите специальное руководство, которое теперь есть на сайте Qi4j: http://qi4j.org/latest/howto-depend-on-qi4j.html
Вот репозитории релизов и снимков:
- https://repository-qi4j.forge.cloudbees.com/release/
- https://repository-qi4j.forge.cloudbees.com/snapshot/
Еженедельные SNAPSHOT загружаются в репозиторий снимков, поэтому вам нужно добавить этот URL в качестве репозитория maven:
<repositories>
[...]
<repository>
<id>qi4j-snapshots</id>
<url>https://repository-qi4j.forge.cloudbees.com/snapshot/</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
[...]
</repositories>
И тогда вы можете добавить зависимости в Qi4j:
<dependencies>
[...]
<dependency>
<groupId>org.qi4j.core</groupId>
<artifactId>org.qi4j.core.bootstrap</artifactId>
<version>QI4J_VERSION</version>
</dependency>
<dependency>
<groupId>org.qi4j.core</groupId>
<artifactId>org.qi4j.core.runtime</artifactId>
<version>QI4J_VERSION</version>
</dependency>
[...]
</dependencies>
Где QI4J_VERSION - версия, которую вы хотите использовать.