Home >
James Ward surprised us today with a patch for Flex Builder 3 that makes it work with Eclipse Galileo SR1. James solved the dreaded "An internal build error has occurred" problem. His solution was to replace ProblemManager with his own implementation, written in about 200 lines of code to the same IProblemManager interface as the original class. This is a 'clean room' implementation, created without looking at the Flex Builder source code.
Try it out. It works great for me on Windows. James says it works with Linux. I expect it should work on Mac too. These instructions modify the instance of the Flex Builder 3 plug-in shared between Ganymede SR2 and Galileo SR1. The patch seems to be backwards compatible; my testing shows that the Flex Builder 3 plug-in continues to work fine with Ganymede SR2.
Below are Windows installation instructions. These steps take a long time to perform if you are starting from scratch. If you already have Ganymede SR2 working with the Flex Builder plug-in then you can start at step 4 and the remaining steps should only take a few minutes:
- Install Eclipse Ganymede SR2 (necessary to install Flex Builder Plugin into Galileo.)
- Install the Flex Builder Plugin into Ganymede SR2.
- Install Galileo SR1. If you are working with BlazeDS or LCDS then be sure to install the version entitle "Eclipse IDE for Java EE Developers (189 MB)."
- Follow these instructions to integrate Flex Builder Plugin with Galileo SR1. Let's call the directory that you installed Flex Builder Plugin for Galileo into {FBPG}.
- Back up zornproject.jar. My copy was found in {FBPG}\eclipse\plugins\com.adobe.flexbuilder.project_3.0.214193\zornproject.jar
- Open {FBPG}\eclipse\plugins\com.adobe.flexbuilder.project_3.0.214193\zornproject.jar with WinRAR or your favorite ZIP manager.
- Drill into the com/adobe/flexbuilder/project/compiler/internal directory and delete ProblemManager*.class.
- Add James' ProblemManager.class to the same directory in the zip file.
- Save the zip file.
- Start Galileo SR1.
- Buy James a beer next time you see him.
Give Eclipse Europa and Ganymede SR2 a shove! Galileo SR1 is the current mainstream Eclipse version, and I'm grateful to James to making it happen.
Update: Here is some background information on how the Flex Builder Plugin works with Eclipse.




Facebook Application Development
Thanks, Mike! Unfortunately, I wasn't able to get this working on my Mac (10.6.1) and thought I'd post some comments in case another Mac-er comes by.
I got everything working in terms of step 4 (creating the 'link' to the Flex Plug-in installation for Eclipse 3.5).
When I added James' ProblemManager.class in the same directory (zornproject.jar) and re-zipped it (renaming it to JAR), I could no longer use the Flex Builder Plug-in in Eclipse 3.4 or 3.5. I had to put the original zornproject.jar back in place.
One question, Mike: in item 7 you mention deleting ProblemManager*.class. Does that mean delete ALL ProblemManager classes and just replace with the single class James created?
That might have been where I went awry ...
Once you replace ProblemManager.class, the other files will be ignored because they are private inner classes that are not referenced by the rest of the application. Delete them or not, as you wish.
Perhaps the way you recreated the JAR is the source of your problem?
Good to know, thanks, Mike!
I think it must be how I created the JAR, so I'm trying again and will report back how it goes.
Hey Craig,
Make sure you put the patched ProblemManager.class in the right directory:
com/adobe/flexbuilder/project/compiler/internal
Also if you get errors please post them on my blog or here. You can find the errors in the /.metadata/.log file.
One last thing... This patch requires Java 1.6.
-James
Thanks, James(and Mike)!
I definitely put the ProblemManager.class in the correct directory - kept checking that to make sure it wasn't my screw up :). I am running Java 1.6.0_15 as my default JRE/JVM.
I also compiled the JAR properly but still get errors. The log file is fairly long (I cleared it before trying to get FB 3 going in Eclipse 3.5 one last time). I'd hate to fill up too much space with the log details. I can email it or post (here or your blog) but didn't want to without making sure it was kosher first.
Best,
Craig
Craig, You can email the log file to me:
jaward at adobe dot com
Just FYI I got Flash Builder 4 beta 1 working with Galileo on Mac OSX 10.6.1 for a little while now (haven't tried with Flex Builder though) by downloading the Galileo distro on Yoxos website (http://ondemand.yoxos.com/geteclipse/start).
There was no need for any particular manipulation or anything as long as you choose (on Yoxos' website) to download the "MacOS X Carbon (deprecated)" version and not the default MacOS X Cocoa. Aside from that I was able to install pretty much any plugin with that.
Cheers,
Gilles
Thanks to both, James and Mike, i easily got it working!
But, as i'm using it and making syntax errors, it also happens that some of them won't disappear after i correct them. I have to manualy remove them in the Problems view to successfully compile. Is anybody else experiencing this? I have Eclipse Java EE IDE for Web Developers, Build: 20090920-1017 and FB3 plugin v3.0.214193.
Thanks for writing up that patch - I've needed to use Eclipse 3.5 and Flex Builder 3.4 for a while and that bug was killing me.
I did have a little trouble re-creating the jar file. When I tried to do it using regular zip utilities the resulting jar did not work. Using ant's unjar and jar task fixed the problem.
I do not see the problem mentioned above requiring problems to be removed by hand.