[
https://issues.jboss.org/browse/TEIID-3030?page=com.atlassian.jira.plugin...
]
Gary Gregory commented on TEIID-3030:
-------------------------------------
{quote}
Are you using Teiid embedded?
{quote}
Yes, version 8.7.0, which is delivered with Saxon-HE in
{{teiid-8.7.0.Final-embedded-dist.zip/lib/saxonhe-9.2.1.5.jar}}
{quote}
Have you tried just using the later saxon version ...?
{quote}
Yes, which is why I created this issue. If I use 9.4.0.6 instead of 9.2.1.5, I get:
{noformat}
java.lang.NoClassDefFoundError: net/sf/saxon/expr/PathMap$PathMapNode
at org.teiid.query.sql.lang.XMLTable.compileXqueryExpression(XMLTable.java:114)
at
org.teiid.query.resolver.command.SimpleQueryResolver$QueryResolverVisitor.visit(SimpleQueryResolver.java:325)
at org.teiid.query.sql.lang.XMLTable.acceptVisitor(XMLTable.java:159)
at org.teiid.query.sql.navigator.AbstractNavigator.visitNode(AbstractNavigator.java:63)
at org.teiid.query.sql.navigator.AbstractNavigator.visitNodes(AbstractNavigator.java:76)
at
org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:186)
at
org.teiid.query.resolver.command.SimpleQueryResolver$QueryResolverVisitor.visit(SimpleQueryResolver.java:568)
at org.teiid.query.sql.lang.From.acceptVisitor(From.java:146)
at org.teiid.query.sql.navigator.AbstractNavigator.visitNode(AbstractNavigator.java:63)
at
org.teiid.query.resolver.command.SimpleQueryResolver$QueryResolverVisitor.visit(SimpleQueryResolver.java:209)
at
org.teiid.query.resolver.command.SimpleQueryResolver.resolveCommand(SimpleQueryResolver.java:67)
at org.teiid.query.resolver.QueryResolver.resolveCommand(QueryResolver.java:271)
at org.teiid.query.resolver.QueryResolver.resolveView(QueryResolver.java:436)
at org.teiid.query.metadata.MetadataValidator.validate(MetadataValidator.java:318)
at org.teiid.query.metadata.MetadataValidator.access$100(MetadataValidator.java:66)
at
org.teiid.query.metadata.MetadataValidator$ResolveQueryPlans.execute(MetadataValidator.java:219)
at org.teiid.query.metadata.MetadataValidator.validate(MetadataValidator.java:90)
at org.teiid.deployers.VDBRepository.finishDeployment(VDBRepository.java:294)
at org.teiid.runtime.AbstractVDBDeployer.metadataLoaded(AbstractVDBDeployer.java:195)
at org.teiid.runtime.EmbeddedServer.loadMetadata(EmbeddedServer.java:694)
at org.teiid.runtime.AbstractVDBDeployer.loadMetadata(AbstractVDBDeployer.java:161)
at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:635)
at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:576)
at
com.seagullsw.appinterface.server.comm.virtualdb.TeiidCommunicationManager.doStart(TeiidCommunicationManager.java:177)
...
com.seagullsw.appinterface.server.comm.virtualdb.TeiidTcpCommunicationManagerRoundtripTestCase.setUpOnce(TeiidTcpCommunicationManagerRoundtripTestCase.java:27)
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:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: net.sf.saxon.expr.PathMap$PathMapNode
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:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 54 more
{noformat}
{quote}
... or are there api changes affecting Teiid?
{quote}
Yes, in Saxon 9.4.0.6, net/sf/saxon/expr/PathMap is now in
net/sf/saxon/expr/parser/PathMap
{quote}
Unfortunately we don't have complete flexibility here as the saxon dependency is
normally coming from the AS/EAP platform.
{quote}
That does not seem to be the case since the Saxon-HE jar is delivered with the embedded
zip.
If I try to recompile Teiid with Saxon-HE 9.5.1-6, I get all sorts of errors, presumably
due to the package changes.
What is the next step?
Update Saxon to current release (9.5)
-------------------------------------
Key: TEIID-3030
URL:
https://issues.jboss.org/browse/TEIID-3030
Project: Teiid
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Affects Versions: 8.7
Environment: Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e;
2014-06-17T09:51:42-04:00)
Maven home: C:\Java\apache-maven-3.2.2
Java version: 1.7.0_60, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_60\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64",
family: "windows"
Reporter: Gary Gregory
Assignee: Steven Hawkins
Our product embeds a Teiid server and provides its own set of 3rd party jar files, one of
which clashes with Teiid: we provide Saxon-HE 9.4.0.6 and Teiid provides 9.2.1.5. These
two versions are NOT binary compatible.
This shows up using the web services connector as a class not found error because some
classes have been repackaged between Saxon 9.2.x and 9.4.x.
If Teiid updates to the latest version (9.5), so can we, and avoid backporting our Saxon
dependencies.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)