sgtp / SemScape

Semantic Web plugin for Cytoscape 3.0
http://vsdlc3.blogspot.com
5 stars 4 forks source link

Incompatible with Cytoscape 3.2.1 #6

Open donpellegrino opened 9 years ago

donpellegrino commented 9 years ago

When attempting to load SemScape with Cytoscape 3.2.1 on a Microsoft Windows 7 64-bit system with Oracle Java Version 7 Update 65 the following error message is generated:

Cytoscape 3.2.1> java.lang.VerifyError: (class: org/apache/xerces/impl/dv/xs/AbstractDateTimeDV, method: signature: ()V) Bad type in putfield/putstatic at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.(Unknown Source) at org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.createBuiltInTypes(Unknown Source) at org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.xerces.impl.dv.ObjectFactory.newInstance(Unknown Source) at org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(Unknown Source) at org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(Unknown Source) at com.hp.hpl.jena.datatypes.xsd.XSDDatatype.(XSDDatatype.java:230) at com.hp.hpl.jena.datatypes.xsd.XSDDatatype.(XSDDatatype.java:242) at com.hp.hpl.jena.datatypes.xsd.impl.XSDFloat.(XSDFloat.java:49) at com.hp.hpl.jena.datatypes.xsd.XSDDatatype.(XSDDatatype.java:63) at com.hp.hpl.jena.sparql.expr.nodevalue.XSDFuncOp.(XSDFuncOp.java:766) at com.hp.hpl.jena.query.ARQ.setNormalMode(ARQ.java:381) at com.hp.hpl.jena.query.ARQ.defaultSettings(ARQ.java:463) at com.hp.hpl.jena.query.ARQ.init(ARQ.java:438) at com.hp.hpl.jena.query.ARQ.(ARQ.java:458) at org.apache.jena.riot.RIOT.(RIOT.java:38) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.hp.hpl.jena.rdf.model.impl.IO_Ctl.callByRefection(IO_Ctl.java:54) at com.hp.hpl.jena.rdf.model.impl.IO_Ctl.init(IO_Ctl.java:36) at com.hp.hpl.jena.rdf.model.impl.ModelCom.(ModelCom.java:65) at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:140) at org.cytoscape.vsdl3c.internal.SPARQLEndpointConfig.(SPARQLEndpointConfig.java:50) at org.cytoscape.vsdl3c.internal.CyActivator.start(CyActivator.java:75) at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645) at org.apache.felix.framework.Felix.activateBundle(Felix.java:2146) at org.apache.felix.framework.Felix.startBundle(Felix.java:2064) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1245) at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1217) at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:509) at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:358) at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:310)

This error message is only visible if Cytoscape is run from a Command Prompt. From the graphical user interface, SemScape will be reported as having been loaded however the menu items will be missing from the Apps menu and the tabs will be missing from the Control Panel.

abargnesi commented 9 years ago

I've confirmed that on Linux too. The error has something to do with Java class incompatibility with loaded classes from the Xerces XML library. With Cytoscape 3.2.0+ a xercesImpl-2.11.0.jar is added to framework/lib/endorsed/ directory and available on the karaf classpath.

Xerces classes are referenced by Apache Jena so when the SemScape app is built it brings in xerces classes. Strangely the xerces classes are the same version as the included JAR so I'm not sure where the incompatibility it.

Workaround: Remove the framework/lib/endorsed/xercesImpl-2.11.0.jar file from the Cytoscape installation. It does not seem to effect the Cytoscape application and now the SemScape app functions.

donpellegrino commented 8 years ago

This issue is still relevant in Cytoscape 3.3.0 with Java 1.8.0_73 64-bit on Windows 7.

donpellegrino commented 6 years ago

This issue still applies with Cytoscape 3.6.0 and Java 1.8.0_161 64-bit on CentOS 7. The workaround of removing xercesImpl-2.11.0.jar still works.