Ontop 1.7 Protégé Bundle fails on startup

156 views
Skip to first unread message

Benedikt Tröster

unread,
Feb 10, 2016, 9:26:57 AM2/10/16
to ontop4obda
Hi guys!

(seems like I become a frequent "troublemaker" here ;) )
I downloaded the new Ontop 1.7 Protégé Bundle, and tried to run it, but during startup I receive an error that the plugin could not be loaded:

Error starting file:/D:/bachelor/tools/ontop/Protege-5.0.0-beta-21/plugins/it.unibz.inf.ontop.protege-1.17.0.jar
org.osgi.framework.BundleException: Activator start error in bundle it.unibz.inf.ontop.protege [24].
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2204) ~[org.apache.felix.main.jar:na]
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2072) ~[org.apache.felix.main.jar:na]
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299) ~[org.apache.felix.main.jar:na]
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304) [org.apache.felix.main.jar:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71]
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Workbook
        at java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:1.8.0_71]
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[na:1.8.0_71]
        at java.lang.Class.getConstructor0(Class.java:3075) ~[na:1.8.0_71]
        at java.lang.Class.newInstance(Class.java:412) ~[na:1.8.0_71]
        at org.protege.osgi.jdbc.impl.JdbcRegistryImpl.addJdbcDriver(JdbcRegistryImpl.java:22) ~[na:na]
        at org.protege.osgi.jdbc.prefs.Activator.installDrivers(Activator.java:60) ~[na:na]
        at org.protege.osgi.jdbc.prefs.Activator.start(Activator.java:34) ~[na:na]
        at org.protege.osgi.jdbc.JdbcBundleActivator.start(JdbcBundleActivator.java:24) ~[na:na]
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645) ~[org.apache.felix.main.jar:na]
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2154) ~[org.apache.felix.main.jar:na]
        ... 4 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Workbook
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_71]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_71]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_71]
        ... 14 common frames omitted

The OSGi framework has been started
------------------------------------ Prot├®g├® -----------------------------------
Prot├®g├® Desktop
Version 5.0.0, Build beta-21

----------------------------------- Platform -----------------------------------
Java: JVM 1.8.0_71-b15  Memory: 466M
Language: en, Country: US
Framework: Apache Software Foundation (1.7)
OS: win (10.0)
Processor: x86-64

------------------------------------ Plugins -----------------------------------
Plugin: Cellfie Protege 5.0+ Plugin (2.0.0.beta-6)
Plugin: OWL Code Generation Plug-in (2.0.0)
Plugin: Existential Query (2.0.0)
Plugin: Explanation Workbench (3.0.0)
Plugin: Ontop OBDA Prot├®g├® plugin (1.17.0) was not successfully started.  Please see the Prot├®g├® log for more details.
Plugin: OntoGraf (2.0.2)
Plugin: DL Query (3.0.1)
Plugin: HermiT (1.3.8.413)
Plugin: OWLDoc (3.0.2)
Plugin: OWLViz (5.0.1)
Plugin: OWLAPI RDF Library (2.0.1)
Plugin: Protege SPARQL Plugin (2.0.1)
        OWLAPI RDF Library Plugin has no plugin.xml resource
OWL API Version: 4.1.3.20151118-2017
Cannot generate ontology catalog for ontology at http://www.semanticweb.org/benedikt/ontologies/2016/1/untitled-ontology-22
Why is that? I see two possible reasons:
1. I have an other version of the ontop bundle installed and the new version is confusing the config files? (both installations are in different folders though)
2. I had to change the java_home dir to force it to run with 1.8 instead of 1.7.
3. The classpath is missing some binaries?

As always: Thanks for your help!

Best,
Benedikt

Sarah Komla-Ebri

unread,
Feb 10, 2016, 12:20:01 PM2/10/16
to ontop4obda
Hi Benedikt,
I tried to run the bundle in windows 10 and I did not have any problem these are my settings:
----------------------------------- Platform -----------------------------------
Java: JVM 1.8.0_72-b15  Memory: 506M
Language: en, Country: US
Framework: Apache Software Foundation (1.7)
OS: win (10.0)
Processor: x86-64
To answer your questions:
1.You can have different folders of Protege with ontop, that is not a problem.
2. I can see you are running java 8 this should not be a problem
3. The necessary data for the classpath are explicity expressed in the batch file:
 -classpath bundles/guava.jar;bundles/logback-classic.jar;bundles/logback-core.jar;bundles/slf4j-api.jar;bin/org.apache.felix.main.jar;bin/protege-launcher.jar 
Did you modify the classpath or the folders in the bundle?

Cheers,
Sarah

Benedikt Tröster

unread,
Feb 11, 2016, 8:42:49 AM2/11/16
to ontop4obda
Hi Sarah,

For this test I extracted eveything new, but no luck...
I didn't change the run.bat except for adding:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_71
set JAVA=java
if exist "%JAVA_HOME%\bin\java.exe" set JAVA="%JAVA_HOME%\bin\java"
%JAVA%  -Xmx500M -Xms200M -DentityExpansionLim...

So it would startup, since it would throw an unsupported major.minor Version 52.0 Error with my 1.7 JRE. 
Other than that I didn't make any changes. Oddly enough, Protégé startsup and I can add the Ontop Tabs, but the JDBC driver tab in the preferences is not there anymore. So I'm guessing the new Protégé version is reading the old config (where a JDBC driver is located which depends on Apache POI (see above "Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Workbook")

Benedikt Tröster

unread,
Feb 11, 2016, 9:35:08 AM2/11/16
to ontop4obda
Ok, I had to reset all my settings and it works now. Would be good to know where the settings are stored though, so I can back them up in case I need to do this again. Do you happen to know where Protégé saves its settings?

Best, 
Benedikt

Sarah Komla-Ebri

unread,
Feb 11, 2016, 9:48:12 AM2/11/16
to ontop4obda
Hi Benedikt, 
we are glad you manage to make it run.
There is a cache folder from Protege in AppData\Local . It's an hidden folder in Users/yourUsername .

Sarah
Reply all
Reply to author
Forward
0 new messages