It's all about the answers!

Ask a question

Jaz, Flex Builder 3 and Xerces Issue


Tom Frauenhofer (1.3k58435) | asked Mar 02 '08, 10:19 a.m.
I'm trying to get Flex Builder 3 to work with TeamCentral. Adobe makes it available in two forms - as a feature with a collection of plugins, or as a stand-alone Eclipse instance. Alas, I'm running into some problems under Windows. I'm doing all this with TeamCentral Beta2a, BTW.

My first approach was to unzip the Beta2a client on my Windows laptop and install the Flex Builder 3 plugins. In this configuration I was able to get Jazz to work, but whenever I try to build anything using Flex I get the following exception, which looks like a Xerces versioning problem:

!ENTRY com.adobe.flexbuilder.project 4 43 2008-03-02 09:31:11.062
!MESSAGE Uncaught exception in compiler
!STACK 0
java.lang.IllegalAccessError: org.apache.xerces.util.XMLAttributesImpl$Attribute
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:228)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:148)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:557)
at java.net.URLClassLoader.access$400(URLClassLoader.java:120)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:962)
at java.security.AccessController.doPrivileged(AccessController.java:275)
at java.net.URLClassLoader.findClass(URLClassLoader.java:488)
at com.adobe.flexbuilder.project.sdks.FlexClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:607)
at com.adobe.flexbuilder.project.sdks.FlexClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:66)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:127)
at org.apache.xerces.impl.XMLDocumentFragmentScannerMMImpl.<init>(XMLDocumentFragmentScannerMMImpl.java:105)
at org.apache.xerces.impl.XMLDocumentScannerMMImpl.<init>(XMLDocumentScannerMMImpl.java:258)
at org.apache.xerces.impl.XMLNSDocumentScannerMMImpl.<init>(XMLNSDocumentScannerMMImpl.java:120)
at org.apache.xerces.parsers.IntegratedParserConfigurationMMImpl.createDocumentScanner(IntegratedParserConfigurationMMImpl.java:282)
at org.apache.xerces.parsers.DTDConfiguration.<init>(Unknown Source)
at org.apache.xerces.parsers.StandardParserConfiguration.<init>(Unknown Source)
at org.apache.xerces.parsers.IntegratedParserConfigurationMMImpl.<init>(IntegratedParserConfigurationMMImpl.java:193)
at org.apache.xerces.parsers.XML11ConfigurationMMImpl.<init>(XML11ConfigurationMMImpl.java:182)
at org.apache.xerces.parsers.XML11ConfigurationMMImpl.<init>(XML11ConfigurationMMImpl.java:139)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1300)
at org.apache.xerces.parsers.ObjectFactory.newInstance(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.findJarServiceProvider(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
at com.adobe.flexbuilder.project.internal.FlexConfigFile.parseFlexConfigFile(Unknown Source)
at com.adobe.flexbuilder.project.internal.FlexConfigFile.getDocument(Unknown Source)
at com.adobe.flexbuilder.project.ClassPathEntryFactory$FlexSDKClasspathEntry.getChildLibrariesWithDefaultLinkage(Unknown Source)
at com.adobe.flexbuilder.project.ClassPathEntryFactory$FlexSDKClasspathEntry.getChildLibraries(Unknown Source)
at com.adobe.flexbuilder.project.actionscript.internal.ActionScriptProjectSettings.computeCompilerLibraryPath(Unknown Source)
at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.applySettings(ASBuilder.java:244)
at com.adobe.flexbuilder.multisdk.compiler.internal.FlexLibraryBuilder.applySettings(FlexLibraryBuilder.java:135)
at com.adobe.flexbuilder.multisdk.compiler.internal.FlexLibraryBuilder.setup(FlexLibraryBuilder.java:75)
at com.adobe.flexbuilder.project.compiler.BuilderFactory.createBuilder(Unknown Source)
at com.adobe.flexbuilder.project.compiler.BuilderManager.getBuilder(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.preBuild(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(Unknown Source)
at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(Unknown Source)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

My next attempt was to use my Macbook and install the TeamCentral client with the Flex Builder 3 plugins (same configuration on Mac OS X). This worked perfectly - both Jazz and Flex were very happy, and I could be productive here. Unfortunately, most of my team members are Windows developers, so this is not a practical solution for them.

Now back to Windows. I installed the Flex Builder 3 standalone eclipse instance and noticed that it uses Sun JDK 1.5, so I wondered if the JDK was the culprit. I replaced the JDK to use the IBM 1.5 JDK (same as TeamCentral Beta2a). The standalone Flex Builder 3 worked.

My next experiment was to use the Sun 1.5 JDK on TeamCentral with the Flex Builder plugins. The performance seemed very sluggish, but Flex seemed happy. Jazz was a different matter. I could connect to a repository and connect to a project area, but I couldn't do anything after that. I couldn't see any workspaces that I had, nor could I look at streams, work items, etc.

I'm out of things to try at this point. My ideal solution would be to figure out how to resolve the Xerces incompatibility, but I'm open to any other ideas that people might have. And I really want to use the Jazz tools for our project, but working with Flex is a higher priority for us, and we might end up just setting up a CVS repository and cobbling things that way. We've discussed the idea of having separate Jazz and Flex instances running to get the Jazz features, but running both Eclipse instances is quite expensive resource-wise.

Thanks in advance!

--
Tom Frauenhofer, tvf@us.ibm.com
Senior Software Engineer, IBM Research

One answer



permanent link
ChangWoo Jung (1111) | answered Sep 29 '08, 12:23 a.m.
This is due to the IBM Java SDK using a different Xerces version then the one Flex Builder needs. It could be sort of workaround the problem.

Please modify TeamConcert.ini like below. (under \jazz\client\eclipse)


-Xbootclasspath/a:c:\progra~1\adobe\flexbu~1\sdks\3.1.0\lib\xercesImpl.jar

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.