我制作了一个程序,用于使用 Jena库解析乌龟文件。这些是我使用的依赖项:
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-iri</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-tdb</artifactId>
<version>3.10.0</version>
</dependency>
因此,解析在我的Java程序上运行良好,但是当我创建我的 jar 并尝试运行它时,出现了以下错误:
ERROR JenaService:146 - org.apache.jena.n3.turtle.TurtleParseException: Line 28015, column 79: org.apache.jena.iri.impl.IRIImplException:
<http://www.reussir.fr,> Code: 28/NOT_DNS_NAME in HOST: The host component did not meet the restrictions on DNS names.
有什么想法吗?
编辑
我通过使用IDE运行程序来警告无效的IRI问题,但是生成的jar仍然给我错误。
答案 0 :(得分:0)
<http://www.reussir.fr,>
在URI中有一个逗号,不允许使用逗号。
最好查找并解决数据问题,因为如果不解决,它以后可能会导致其他问题。
答案 1 :(得分:0)
我发现了问题,我真正需要的唯一依赖项是 jena-arq ,因此我删除了其他依赖项(尤其是 jena-iri ,这引发了TurtleParseException), bad-iri错误变成了警告,例如在IDE执行日志中。