Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一个简单的Jena示例不起作用_Java_Maven_Jena - Fatal编程技术网

Java 一个简单的Jena示例不起作用

Java 一个简单的Jena示例不起作用,java,maven,jena,Java,Maven,Jena,我正在尝试运行Jena官方文档附带的第一个示例 下面是我在运行命令“java-jar target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar”时遇到的错误: 我只想开始,所以如果有办法修复pom,或者如果更简单的话甚至不使用maven,请让我知道 在Tahir在回答中提到如下内容后,我在pom文件中的依赖项中添加了一个新的依赖项: <dependency> <groupId>org.slf4j</groupI

我正在尝试运行Jena官方文档附带的第一个示例

下面是我在运行命令“java-jar target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar”时遇到的错误:

我只想开始,所以如果有办法修复pom,或者如果更简单的话甚至不使用maven,请让我知道

在Tahir在回答中提到如下内容后,我在pom文件中的依赖项中添加了一个新的依赖项:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.6.2</version>
</dependency>

org.slf4j
slf4j简单
1.6.2
现在我得到了这个错误:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.mycompany.app.RdfWriter.main(RdfWriter.java:14)
Caused by: java.lang.NullPointerException
    at org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33)
    at org.apache.jena.tdb.TDB.init(TDB.java:248)
    at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29)
    at org.apache.jena.system.JenaSystem.lambda$init$2(JenaSystem.java:119)
    at java.util.ArrayList.forEach(ArrayList.java:1249)
    at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:194)
    at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:171)
    at org.apache.jena.system.JenaSystem.init(JenaSystem.java:117)
    at org.apache.jena.rdf.model.ModelFactory.<clinit>(ModelFactory.java:49)
    ... 1 more
线程“main”java.lang.ExceptionInInitializeError中的异常 位于com.mycompany.app.RdfWriter.main(RdfWriter.java:14) 原因:java.lang.NullPointerException 位于org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33) 位于org.apache.jena.tdb.tdb.init(tdb.java:248) 位于org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29) 位于org.apache.jena.system.jenaystem.lambda$init$2(jenaystem.java:119) forEach(ArrayList.java:1249) 位于org.apache.jena.system.jenaystem.forEach(jenaystem.java:194) 位于org.apache.jena.system.jenaystem.forEach(jenaystem.java:171) 位于org.apache.jena.system.jenaystem.init(jenaystem.java:117) 位于org.apache.jena.rdf.model.ModelFactory(ModelFactory.java:49) ... 还有一个
谢谢

您需要在类路径中添加以下jar文件:
slf4j-simple-1.6.1.jar

只需添加此依赖项,看看它是否能解决您的问题?

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>

org.slf4j
slf4j简单
1.6.1

这里的说明:对我有用

我仍然认为,为这一点制定有效的pom并不复杂。如果没有人提供一个pom,允许它在没有错误的情况下运行, 我会接受我自己的答案


谢谢

当您使用汇编插件重新打包jar时,
ServiceLoader
文件被损坏了
ServiceLoader
是Jena用于跨JAR提供初始化的标准Java功能

您需要合并所有被调用的文件

META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle
从JAR(有几个这样的文件,不同的内容)


如果您真的必须构建一个组合jar,而不是说使用“mvn exec:exec”,然后将shade插件与
一起使用,我将其添加为maven依赖项,现在我得到一个新错误。更新你的问题:说你添加了所需的依赖项,并用新错误更新你的问题@karimtli在为你添加上一条评论之前做了这件事。这是你的答案。。。检查一下,告诉我@karimtlasked and response在Jena用户列表上是否有用:@AndyS,我添加了一个eclipse选项的链接,你的答案是这样的:我不知道如何将它们与汇编插件结合起来。希望有人知道这里。我会试试这个,让你知道
Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.mycompany.app.RdfWriter.main(RdfWriter.java:14)
Caused by: java.lang.NullPointerException
    at org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33)
    at org.apache.jena.tdb.TDB.init(TDB.java:248)
    at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29)
    at org.apache.jena.system.JenaSystem.lambda$init$2(JenaSystem.java:119)
    at java.util.ArrayList.forEach(ArrayList.java:1249)
    at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:194)
    at org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:171)
    at org.apache.jena.system.JenaSystem.init(JenaSystem.java:117)
    at org.apache.jena.rdf.model.ModelFactory.<clinit>(ModelFactory.java:49)
    ... 1 more
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
META-INF/services/org.apache.jena.system.JenaSubsystemLifecycle