3

我目前正在尝试弄清楚 Qi4j 的工作原理。所以我决定从一个简单的例子开始。我尝试在我的 pom.xml 中使用 Qi4j 库,但现在面临的问题是找不到工件。我正在使用 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>

我做错了什么?非常感谢。

4

3 回答 3

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 应该足够了。testsupport 显然是“测试”范围,运行时不应由您的代码使用,而只是“运行时”依赖项。

<groupId>org.qi4j.library</groupId>

图书馆的完整性和质量差异很大。扩展可以依赖于库,但不能反过来。

<groupId>org.qi4j.extension</groupId>

Extensions 实现了缓慢增长的 SPI 可插拔功能;实体存储、索引/查询和缓存。下一个版本 (2.0) 将对值序列化和其他内容进行更多扩展。

希望对您有所帮助,或者在qi4j-dev Google Group 中与 Qi4j 社区会面以获得更多支持。

于 2011-09-07T03:46:30.370 回答
1

根据我在给定存储库中看到的内容,groupId 和 artifactId 完全不同......

http://repository.ops4j.org/maven2/org/qi4j/core/org.qi4j.core.spi/1.4/org.qi4j.core.spi-1.4.pom

于 2011-09-01T13:45:39.627 回答
0

要了解如何在构建中依赖 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 是您要使用的版本。

于 2012-11-01T11:52:47.340 回答