我想编译Nutch 2.2.1以与MongoDB一起用于数据存储。
我在文件ivy.xml中将gora-core更改为0.5:
<dependency org="org.apache.gora" name="gora-core" rev="0.5" conf="*->default"/>
还在ivy / ivy.xml文件中添加了对mongodb的依赖:
<dependency org="org.apache.gora" name="gora-mongodb" rev="0.5" conf="*->default" />
在conf / gora.properties中添加了mongodb配置:
############################
# MongoDBStore properties #
############################
gora.datastore.default=org.apache.gora.mongodb.store.MongoStore
gora.mongodb.override_hadoop_configuration=false
gora.mongodb.mapping.file=/gora-mongodb-mapping.xml
gora.mongodb.servers=localhost:27017
gora.mongodb.db=nutch
将gora-mongodb-mapping.xml添加到Nutch-2.3-SNAPSHOT的conf目录中。
当我尝试编译时,我收到错误:
Could not load definitions from resource org/sonar/ant/antlib.xml. It could not be found.
之后我收到很多编译错误。
当我尝试使用MySQL配置和编译Nutch时,每次编译都能完美运行。
我正在尝试在Debian上编译。
答案 0 :(得分:0)
引发错误是因为其中一个类路径中没有声纳罐(参见build.xml, line 883)
<taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
<classpath path="${ant.library.dir}"/>
<classpath path="${mysql.library.dir}"/>
</taskdef>
看起来可以安全地忽略警告,因为只有在运行声纳时才需要警告&#34;目标
一个简单的解决方案是将任务定义移动到#34;声纳&#34;目标。这样可以避免错误信息。
我建议提出一个JIRA问题来解决这个问题。
答案 1 :(得分:0)
纠正这个错误之后我得到另一个;-)。经过研究,我发现用Gora 0.5编译Nutch 2.2.1不可能使用MongoDB(gora-mongodb rev = 0.5)。
我克隆了Nutch 2.3并成功编译了它。