Конфигурация 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

Вот репозитории релизов и снимков:

Еженедельные 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 - версия, которую вы хотите использовать.

Другие вопросы по тегам