我目前正试图弄清楚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>
我做错了什么?非常感谢。
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社区联系以获得更多支持。
根据我在给定的存储库中看到的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/
每周快照被上传到快照存储库,所以你需要添加这个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为您要使用的版本