Open ralphlevan opened 10 years ago
Sounds like the RDF extension was/is depending on Refine to distribute ICU4J. We did in 1.5, but dropped it in 1.6 to try and get the kits size under the 100MB limit imposed by Github.
Extensions should bundled their own dependencies to prevent issues with version skew and packaging changes like this. In this case it appears that it's actually a dependency of Jena which the RDF extension bundles.
Temporary workaround: download icu4j (http://site.icu-project.org/download, for 54: http://download.icu-project.org/files/icu4j/54.1.1/icu4j-54_1_1.jar) and put it into (workspace dir)/Extensions/rdf-extension/MOD-INF/lib/
.
I believe the 0.9 alpha build addresses this issue and is OpenRefine 2.6 compatible.
I'm working my way through the book Using OpenRefine and they use your RDF extension to connect to the LCSH sparql endpoint. When I ask OpenRefine to start reconciling at LCSH, I get the error "java.lang.NoClassDefFoundError: com/ibm/icu/text/StringPrepParseException".
I added icu4j-52_1.jar to OpenRefine/extensions/rdf-extension/MOD-INF/lib and that fixed that particular problem.
java.lang.NoClassDefFoundError: com/ibm/icu/text/StringPrepParseException at com.hp.hpl.jena.iri.impl.SchemeSpecification.(SchemeSpecification.java:68)
at com.hp.hpl.jena.iri.ViolationCodes$Initialize.(ViolationCodes.java:1360)
at com.hp.hpl.jena.iri.IRIFactory.(IRIFactory.java:111)
at org.openjena.riot.system.PrefixMap.add(PrefixMap.java:54)
at com.hp.hpl.jena.sparql.util.MappingRegistry.addPrefixMapping(MappingRegistry.java:33)
at com.hp.hpl.jena.query.ARQ.init(ARQ.java:438)
at com.hp.hpl.jena.query.ARQ.(ARQ.java:456)
at com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP.(QueryEngineHTTP.java:90)
at com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP.(QueryEngineHTTP.java:81)
at org.deri.grefine.reconcile.rdf.executors.VirtuosoRemoteQueryExecutor.sparql(VirtuosoRemoteQueryExecutor.java:20)
at org.deri.grefine.reconcile.rdf.endpoints.QueryEndpointImpl.reconcileEntities(QueryEndpointImpl.java:38)
at org.deri.grefine.reconcile.rdf.RdfReconciliationService.reconcile(RdfReconciliationService.java:69)
at org.deri.grefine.reconcile.model.AbstractReconciliationService.reconcile(AbstractReconciliationService.java:48)
at org.deri.grefine.reconcile.ServiceRegistry.multiReconcile(ServiceRegistry.java:117)
at org.deri.grefine.reconcile.GRefineServiceManager.multiReconcile(GRefineServiceManager.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:161)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:247)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)
at org.mozilla.javascript.gen.c2._c5(file:/C:/Users/levan/AppData/Roaming/OpenRefine/extensions/rdf-extension/MOD-INF/controller.js:204)
at org.mozilla.javascript.gen.c2.call(file:/C:/Users/levan/AppData/Roaming/OpenRefine/extensions/rdf-extension/MOD-INF/controller.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
at org.mozilla.javascript.gen.c2.call(file:/C:/Users/levan/AppData/Roaming/OpenRefine/extensions/rdf-extension/MOD-INF/controller.js)
at edu.mit.simile.butterfly.ButterflyModuleImpl$Controller.process(ButterflyModuleImpl.java:399)
at edu.mit.simile.butterfly.ButterflyModuleImpl$Controller.run(ButterflyModuleImpl.java:377)
at org.mozilla.javascript.Context.call(Context.java:515)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:507)
at edu.mit.simile.butterfly.ButterflyModuleImpl.processScript(ButterflyModuleImpl.java:650)
at edu.mit.simile.butterfly.ButterflyModuleImpl.process(ButterflyModuleImpl.java:427)
at edu.mit.simile.butterfly.Butterfly.service(Butterfly.java:516)
at com.google.refine.RefineServlet.service(RefineServlet.java:200)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:155)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: com.ibm.icu.text.StringPrepParseException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at edu.mit.simile.butterfly.ButterflyClassLoader.loadClass(ButterflyClassLoader.java:65)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 57 more