我目前正试图弄清楚Qi4j是如何工作的。所以我决定从一个简单的例子开始。我试图在我的pom.xml中使用Qi4j lib,现在我遇到了问题,无法找到工件。我正在使用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>
我做错了什么?非常感谢。
答案 0 :(得分: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>
扩展实现了缓慢增长的SPI可插拔功能;实体存储,索引/查询和缓存。下一版本(2.0)将有更多的值序列化和其他扩展。
希望在qi4j-dev Google小组帮助或与Qi4j社区会面以获得更多支持。
答案 1 :(得分:1)
根据我在给定存储库中可以看到的,groupId和artifactId是完全不同的......
http://repository.ops4j.org/maven2/org/qi4j/core/org.qi4j.core.spi/1.4/org.qi4j.core.spi-1.4.pom
答案 2 :(得分:0)
要了解如何在构建中依赖Qi4j,请参阅Qi4j网站上现有的专用方法:http://qi4j.org/latest/howto-depend-on-qi4j.html
以下是发布和快照存储库:
每周SNAPSHOT上传快照存储库,因此您需要将此网址添加为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是您要使用的版本。