Skip to content

Error writing JSON-LD in AOT builds #151

@niegrzybkowski

Description

@niegrzybkowski

When using the linux-x86_64 AOT build, running ./jelly-cli rdf from-jelly --out-format "jsonld" firstEmptyFrame.jelly fails with an Unknown error.

--debug stack trace
org.apache.jena.shared.JenaException: Exception while writing JSON-LD 1.1
        at org.apache.jena.riot.writer.JsonLD11Writer.write$(JsonLD11Writer.java:123)
        at org.apache.jena.riot.writer.JsonLD11Writer.write(JsonLD11Writer.java:73)
        at org.apache.jena.riot.RDFWriter.write$(RDFWriter.java:261)
        at org.apache.jena.riot.RDFWriter.output(RDFWriter.java:219)
        at org.apache.jena.riot.RDFWriter.output(RDFWriter.java:158)
        at org.apache.jena.riot.RDFWriterBuilder.output(RDFWriterBuilder.java:210)
        at org.apache.jena.riot.RDFDataMgr.write$(RDFDataMgr.java:809)
        at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:754)
        at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:745)
        at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:707)
        at eu.neverblink.jelly.cli.util.jena.StreamRdfBatchWriter.writeOutput(StreamRdfBatchWriter.scala:28)
        at eu.neverblink.jelly.cli.util.jena.StreamRdfBatchWriter.finish(StreamRdfBatchWriter.scala:24)
        at eu.neverblink.jelly.cli.command.rdf.RdfFromJelly$.jellyToLang$$anonfun$1(RdfFromJelly.scala:145)
        at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
        at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
        at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:619)
        at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:617)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1306)
        at eu.neverblink.jelly.cli.command.rdf.RdfFromJelly$.jellyToLang(RdfFromJelly.scala:135)
        at eu.neverblink.jelly.cli.command.rdf.RdfFromJelly$.matchFormatToAction$$anonfun$3(RdfFromJelly.scala:93)
        at scala.runtime.function.JProcedure2.apply(JProcedure2.java:15)
        at scala.runtime.function.JProcedure2.apply(JProcedure2.java:10)
        at eu.neverblink.jelly.cli.command.rdf.RdfSerDesCommand.parseFormatArgs(RdfSerDesCommand.scala:58)
        at eu.neverblink.jelly.cli.command.rdf.RdfFromJelly$.doRun(RdfFromJelly.scala:80)
        at eu.neverblink.jelly.cli.command.rdf.RdfFromJelly$.doRun(RdfFromJelly.scala:75)
        at eu.neverblink.jelly.cli.JellyCommand.run(JellyCommand.scala:64)
        at eu.neverblink.jelly.cli.JellyCommand.run(JellyCommand.scala:62)
        at caseapp.core.app.CaseApp.main(CaseApp.scala:178)
        at eu.neverblink.jelly.cli.JellyCommand.main(JellyCommand.scala:75)
        at caseapp.core.app.CommandsEntryPoint.main(CommandsEntryPoint.scala:365)
        at eu.neverblink.jelly.cli.App.main(App.scala)
        at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Caused by: jakarta.json.JsonException: Provider org.glassfish.json.JsonProviderImpl could not be instantiated: java.lang.InstantiationException: org.glassfish.json.JsonProviderImpl
        at jakarta.json.spi.JsonProvider.provider(JsonProvider.java:78)
        at com.apicatalog.jsonld.json.JsonProvider.instance(JsonProvider.java:17)
        at com.apicatalog.jsonld.serialization.RdfToJsonld.build(RdfToJsonld.java:285)
        at com.apicatalog.jsonld.processor.FromRdfProcessor.fromRdf(FromRdfProcessor.java:44)
        at org.apache.jena.riot.writer.JsonLD11Writer.writePretty(JsonLD11Writer.java:141)
        at org.apache.jena.riot.writer.JsonLD11Writer.write$(JsonLD11Writer.java:100)
        ... 31 more
Caused by: java.lang.InstantiationException: org.glassfish.json.JsonProviderImpl
        at [email protected]/java.lang.Class.newInstance(DynamicHub.java:705)
        at jakarta.json.spi.JsonProvider.provider(JsonProvider.java:73)
        ... 36 more
Caused by: java.lang.NoSuchMethodException: org.glassfish.json.JsonProviderImpl.<init>()
        at [email protected]/java.lang.Class.checkConstructor(DynamicHub.java:1189)
        at [email protected]/java.lang.Class.getConstructor0(DynamicHub.java:1386)
        at [email protected]/java.lang.Class.newInstance(DynamicHub.java:698)
        ... 37 more

This does not happen when using the Uber jar, i.e java -jar jelly-cli.jar rdf from-jelly --out-format "jsonld" firstEmptyFrame.jelly. The command works as expected.

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions