sesame - 如何将 Sesame Rio 与 maven-shade-plugin 一起使用?

标签 sesame maven-shade-plugin

当我尝试在使用 maven-shade-plugin 打包的独立 Java 应用程序中使用 Sesame Rio 时,我得到了

Exception in thread "main" org.openrdf.rio.UnsupportedRDFormatException: Did not recognise RDF format object N-Triples (mimeTypes=application/n-triples, text/plain; ext=nt)
    at org.openrdf.rio.Rio.lambda$unsupportedFormat$0(Rio.java:630)
    at org.openrdf.rio.Rio$$Lambda$1/736709391.get(Unknown Source)
    at java.util.Optional.orElseThrow(Optional.java:290)
    at org.openrdf.rio.Rio.createParser(Rio.java:119)
    at org.openrdf.rio.Rio.createParser(Rio.java:137)
    at org.openrdf.repository.util.RDFLoader.loadInputStreamOrReader(RDFLoader.java:318)
    at org.openrdf.repository.util.RDFLoader.load(RDFLoader.java:222)
    at org.openrdf.repository.util.RDFLoader.load(RDFLoader.java:105)
    at org.openrdf.repository.base.AbstractRepositoryConnection.add(AbstractRepositoryConnection.java:255)

从 Eclipse 运行应用程序成功。我该如何解决这个问题?

最佳答案

Rio 中的 RDF 格式处理程序实现为 services ,因此服务描述符必须包含在阴影 JAR 中。这是通过 ServicesResourceTransformer 实现的:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.4.2</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>

更多信息:

关于sesame - 如何将 Sesame Rio 与 maven-shade-plugin 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34571817/

相关文章:

maven阴影 jar : change output location

java - Maven阴影插件: Cannot create instance of

java - 构建阿里巴巴java示例

java - Maven Surefire 双重计数测试

java - owlim-lite 上的 SPARQL 删除不起作用

java - 如何从 Eclipse 运行 Java Sesame 应用程序

java - maven-shade-插件和许可证

java - 使用使用 maven-shade-plugin 构建的 pdfbox 的程序结果与正常的 NetBeans Run 不同

java - 在芝麻工作台上创建一个存储库,当重启tomcat时,它就消失了

javascript - 使用IP地址在本地机器上查询Sesame