0

我正在尝试使用 gradle 构建系统和其他 java 代码创建一个 shadowjar,包括最新的 Apache Jena 3.11 来创建一个“uber”包。为此,我在这里找到了信息:https : //jena.apache.org/documentation/notes/jena-repack.html 但是我很难将其转换为 gradle 设置。

有谁知道如何实现这一目标?

5 actionable tasks: 1 executed, 4 up-to-date
Creating memory store
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.ExceptionInInitializerError
    at nl.wur.ssb.RDFSimpleCon.RDFSimpleCon.createEmptyStore(RDFSimpleCon.java:150)
    at nl.wur.ssb.RDFSimpleCon.RDFSimpleCon.<init>(RDFSimpleCon.java:62)
    at nl.wur.ssb.RDFSimpleCon.RDFSimpleCon.<init>(RDFSimpleCon.java:159)
    at nl.wur.ssb.RDFSimpleCon.Test.main(Test.java:7)
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:252)
    at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29)
    at org.apache.jena.sys.JenaSystem.lambda$init$2(JenaSystem.java:116)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at org.apache.jena.sys.JenaSystem.forEach(JenaSystem.java:191)
    at org.apache.jena.sys.JenaSystem.forEach(JenaSystem.java:168)
    at org.apache.jena.sys.JenaSystem.init(JenaSystem.java:114)
    at org.apache.jena.tdb.TDBFactory.<clinit>(TDBFactory.java:40)
    ... 4 more
4

1 回答 1

1

创建重新打包的jar文件时需要合并Java ServiceLoader文件。

对于 Gradle,在使用shadowJar.

https://jena.apache.org/documentation/notes/jena-repack.html有 Maven 阴影插件的说明。

于 2019-06-04T12:47:22.530 回答