SmartDataAnalytics / Sparqlify

Sparql -> SQL Rewriter enabling virtual RDB -> RDF mappings
http://aksw.org/Projects/Sparqlify
123 stars 13 forks source link

Maven build failure #85

Open KonradHoeffner opened 3 years ago

KonradHoeffner commented 3 years ago

After git clone and mvn clean install:

WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks

main:
     [echo] Creating target/generated-sources/jaxb
    [mkdir] Created dir: /home/konrad/opt/sparqlify/sparqlify-core/target/generated-sources/jaxb
[INFO] Executed tasks
[INFO] 
[INFO] --- exec-maven-plugin:1.5.0:exec (generate schema types) @ sparqlify-core ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar (9.8 kB at 188 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.jar (11 kB at 206 kB/s)
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.jar (13 kB at 207 kB/s)
[ERROR] Command execution failed.
java.io.IOException: Cannot run program "xjc" (in directory "/home/konrad/opt/sparqlify/sparqlify-core"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1142)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1073)
    at java.lang.Runtime.exec (Runtime.java:591)
    at org.apache.commons.exec.launcher.Java13CommandLauncher.exec (Java13CommandLauncher.java:61)
    at org.apache.commons.exec.DefaultExecutor.launch (DefaultExecutor.java:279)
    at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:336)
    at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:764)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:711)
    at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:289)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:64)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.ProcessImpl.forkAndExec (Native Method)
    at java.lang.ProcessImpl.<init> (ProcessImpl.java:313)
    at java.lang.ProcessImpl.start (ProcessImpl.java:244)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1109)
    at java.lang.ProcessBuilder.start (ProcessBuilder.java:1073)
    at java.lang.Runtime.exec (Runtime.java:591)
    at org.apache.commons.exec.launcher.Java13CommandLauncher.exec (Java13CommandLauncher.java:61)
    at org.apache.commons.exec.DefaultExecutor.launch (DefaultExecutor.java:279)
    at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:336)
    at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:764)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:711)
    at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:289)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:64)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Sparqlify SPARQL->SQL rewriter - Parent 0.8.9:
[INFO] 
[INFO] Sparqlify SPARQL->SQL rewriter - Parent ............ SUCCESS [  0.478 s]
[INFO] obda-api-parent .................................... SUCCESS [  0.011 s]
[INFO] obda-api-core ...................................... SUCCESS [ 31.734 s]
[INFO] obda-api-r2rml ..................................... SUCCESS [ 32.483 s]
[INFO] obda-api-sml ....................................... SUCCESS [ 32.276 s]
[INFO] obda-api-bundle .................................... SUCCESS [  0.029 s]
[INFO] obda-api-examples .................................. SUCCESS [  0.027 s]
[INFO] Sparqlify SPARQL->SQL rewriter - Type System ....... SUCCESS [  0.225 s]
[INFO] Sparqlify SPARQL->SQL rewriter - Tests ............. SUCCESS [02:30 min]
[INFO] Sparqlify SPARQL->SQL rewriter - Core .............. FAILURE [04:02 min]
[INFO] Sparqlify SPARQL->SQL rewriter - Cli ............... SKIPPED
[INFO] Sparqlify SPARQL->SQL rewriter - Platform .......... SKIPPED
[INFO] Sparqlify SPARQL->SQL rewriter - Tests ............. SKIPPED
[INFO] Sparqlify SPARQL->SQL rewriter - JPA Mapper ........ SKIPPED
[INFO] Sparqlify SPARQL->SQL rewriter - Update engine ..... SKIPPED
[INFO] Sparqlify SPARQL->SQL rewriter - Web Admin Server .. SKIPPED
[INFO] Sparqlify - Debian Packaging - Cli ................. SKIPPED
[INFO] Sparqlify - Debian Packaging - Tomcat Common ....... SKIPPED
[INFO] Sparqlify - Debian Packaging - Tomcat7 ............. SKIPPED
[INFO] Sparqlify - Debian Packaging - Tomcat8 ............. SKIPPED
[INFO] Sparqlify - Nexus Deploy Workaround ................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  08:10 min
[INFO] Finished at: 2021-01-25T14:00:11+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (generate schema types) on project sparqlify-core: Command execution failed.: Cannot run program "xjc" (in directory "/home/konrad/opt/sparqlify/sparqlify-core"): error=2, No such file or directory -> [Help 1]
KonradHoeffner commented 3 years ago

Ich denke das Kernproblem ist java.io.IOException: Cannot run program "xjc" (in directory "/home/konrad/opt/sparqlify/sparqlify-core"): error=2, No such file or directory.

Ich schätze mal, das bezieht sich auf https://docs.oracle.com/javase/8/docs/technotes/tools/unix/xjc.html

Compiles an XML schema file into fully annotated Java classes.

Das gibt es nicht als Arch Linux-Paket aus den Standardquellen, pacman -Ss xjc liefert keinen Treffer.

Interessanterweise wird es aber unter https://man.archlinux.org/man/xjc-openjdk8.1.en gelistet unter dem Package extra/jdk8-openjdk. Außerdem gibt es auf meinem System einen Softlink May 16 2020 /usr/bin/xjc -> /usr/lib/jvm/default/bin/xjc der aber ins leere geht.

Mein Verdacht ist, dass xjc früher mal Bestandteil von Java war und in den modernen Versionen nicht mehr enthalten ist. Ich verwende openjdk 15.0.2 2021-01-19.