2017-04-23 49 views
0

我想在我的Java web应用程序中使用jena框架创建一个INSERT查询。我想在我的Fuseki三重商店中插入一些特定图形的三元组。 我已经用下面用JAVA jena插入SPARQL查询上传fuseki的三元组

UpdateRequest update = UpdateFactory.create("INSERT DATA { graph <http://graph/my> { "+ string_triples + "}}"); 
UpdateProcessor processor = UpdateExecutionFactory.createRemote(update, "http://fusekidomain/ds/sparql"); 
processor.execute(); 

代码尝试,但它没有工作,我得到一个“java.lang.ClassNotFoundException: org.apache.http.protocol.HttpContext”的错误。

我猜我在代码中缺少某些东西,但我不确定它是什么。

+0

'java.lang.ClassNotFoundException'与您的代码无关,而是与Java类路径无关,即您拥有哪些库。如果您使用Jena,则必须将Jena分发中的所有库**添加到类路径中,或者**使用Maven **(或Gradle) – AKSW

回答

2

java.lang.ClassNotFoundException:至少有一个罐子从classpath中缺少你程序。

使用maven或其他构建工具来管理依赖关系,或将Jena分布式lib目录中的所有jar放在类路径中。

1

我想发表评论,但不是StackOverflow上没有足够的信誉为保证,但.. ;-)

您能通过包括完整的Java堆栈跟踪编辑您的帖子?

您是否检查过项目中可能存在的依赖冲突?有时,当另一个依赖项不使用由另一个依赖项导入的相同版本的库时,会发生此错误(请参阅此post)。

如果你的项目是Maven项目,你可以列出所有的依赖与命令:
mvn dependency:tree -Dverbose

希望它帮助;)

0

谢谢你的回答。事实证明,我确实错过了一些罐子,而且我有一个重复的罐子,因此没有类别发现异常。当我添加它们时,它工作正常。