That was it. Thanks very much!
Okay, so now in my bash ~/.profile I have this:
woswitch()
{
current_version="`readlink -n /System/Library/Frameworks/
JavaFoundation.framework | cut -f 5 -d / | cut -f 2 -d s`"
if [ "$current_version" = "" ]; then
echo "No current version"
else
echo "Current version: $current_version"
fi
if [ $# -eq 1 ];
then
if [ "$current_version" != "" ]; then
for lns in `ls /System/Library/Frameworks/WebObjects
$current_version`; do
__woignore "$lns"
if [ $? -eq 0 ]; then
sudo rm -f "/System/Library/Frameworks/$lns"
fi
done
fi
echo "Switching to $1"
for fwk in `ls /System/Library/Frameworks/WebObjects$1`; do
__woignore "$fwk"
if [ $? -eq 0 ]; then
sudo ln -sf "/System/Library/Frameworks/WebObjects
$1/$fwk" "/System/Library/Frameworks/$fwk"
fi
done
echo "Switched to version $1"
fi
}
__woignore()
{
for fwk in JavaFrameEmbedding.framework JavaEmbedding.framework
JavaVM.framework JavaScriptCore.framework; do
if [ "$1" = "$fwk" ]; then
return 1;
fi
done
return 0;
}
Then the usage is:
$ woswitch # prints current version
$ sudo woswitch 541 # switches to 541
$ sudo woswitch 533 # switches to 533
On 22/03/2008, at 11:51 PM, Mike Schrag wrote:
> Sounds like the problem Xavier recently tracked down, where he
> removed too many Java* frameworks from System frameworks:
>
> "OK, doing this list, I identified the 2 frameworks I was removing...
> The JavaEmbedding also exist in 53, but not the JavaFrameEmbedding.
>
> Putting back the JavaEmbedding from 54 in addition to the
> JavaFrameEmbedding from 54 solved the issue=> 53 frameworks and
> WOLips working.
>
> Thanks all for your help, sometimes things are so obvious you don't
> even see them.
>
> And sorry that was (of course) my mistake, I didn't follow the
> tutorial precisely."
>
> ms
>
> On Mar 22, 2008, at 3:47 AM, Lachlan Deck wrote:
>
>> Hi there,
>>
>> I've downloaded/installed a fresh copy of Eclipse and have re-
>> installed various plugins (except WOLips just yet).
>> (Oh, and I'd chosen to do the Upgrade with the Leopard installer)
>>
>> I can open eclipse, no problems: e.g., the Welcome screen comes up
>> just fine. I can import java projects and compile, no problems
>> (well except that I find I have to quit eclipse and restart after
>> importing a project as it just spins its wheels for ages otherwise).
>>
>> But if I switch to a perspective, like Java, and then from the Help
>> menu choose Welcome I get the following stack trace in the Welcome
>> pane.
>>
>> I really don't want to have to re-install my system to fix this.
>> Any ideas on why this is failing?
>>
>> with regards,
>> --
>>
>> Lachlan Deck
>>
>>
>> java.lang.NoClassDefFoundError
>> at org.eclipse.swt.browser.Safari.create(Safari.java:82)
>> at org.eclipse.swt.browser.Browser.<init>(Browser.java:109)
>> at
>> org
>> .eclipse
>> .ui
>> .internal
>> .intro
>> .impl
>> .presentations
>> .BrowserIntroPartImplementation
>> .createPartControl(BrowserIntroPartImplementation.java:99)
>> at
>> org
>> .eclipse
>> .ui
>> .internal
>> .intro
>> .impl
>> .model
>> .IntroPartPresentation.createPartControl(IntroPartPresentation.java:
>> 230)
>> at
>> org
>> .eclipse
>> .ui
>> .intro
>> .config
>> .CustomizableIntroPart.createPartControl(CustomizableIntroPart.java:
>> 193)
>> at
>> org
>> .eclipse
>> .ui
>> .internal
>> .ViewIntroAdapterPart.createPartControl(ViewIntroAdapterPart.java:98)
>> at
>> org
>> .eclipse
>> .ui.internal.ViewReference.createPartHelper(ViewReference.java:370)
>> at
>> org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:
>> 227)
>> at
>> org
>> .eclipse
>> .ui
>> .internal
>> .WorkbenchPartReference.getPart(WorkbenchPartReference.java:592)
>> at org.eclipse.ui.internal.Perspective.showView(Perspective.java:
>> 2086)
>> at
>> org
>> .eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:
>> 1027)
>> at org.eclipse.ui.internal.WorkbenchPage.access
>> $19(WorkbenchPage.java:1008)
>> at org.eclipse.ui.internal.WorkbenchPage$19.run(WorkbenchPage.java:
>> 3684)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:
>> 3681)
>> at
>> org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:
>> 3657)
>> at
>> org
>> .eclipse
>> .ui
>> .internal
>> .WorkbenchIntroManager.createIntro(WorkbenchIntroManager.java:173)
>> at
>> org
>> .eclipse
>> .ui
>> .internal
>> .WorkbenchIntroManager.showIntro(WorkbenchIntroManager.java:120)
>> at
>> org.eclipse.ui.internal.IntroAction.runWithEvent(IntroAction.java:88)
>> at
>> org
>> .eclipse
>> .jface
>> .action
>> .ActionContributionItem
>> .handleWidgetSelection(ActionContributionItem.java:546)
>> at org.eclipse.jface.action.ActionContributionItem.access
>> $2(ActionContributionItem.java:490)
>> at org.eclipse.jface.action.ActionContributionItem
>> $5.handleEvent(ActionContributionItem.java:402)
>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1495)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1519)
>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1504)
>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1295)
>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:
>> 3350)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:
>> 2950)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:
>> 2389)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
>> at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
>> at
>> org
>> .eclipse
>> .core.databinding.observable.Realm.runWithDefault(Realm.java:289)
>> at
>> org
>> .eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:
>> 461)
>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
>> 149)
>> at
>> org
>> .eclipse
>> .ui
>> .internal.ide.application.IDEApplication.start(IDEApplication.java:
>> 106)
>> at
>> org
>> .eclipse
>> .equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
>> at
>> org
>> .eclipse
>> .core
>> .runtime
>> .internal
>> .adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:
>> 106)
>> at
>> org
>> .eclipse
>> .core
>> .runtime
>> .internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:
>> 76)
>> at
>> org
>> .eclipse
>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
>> at
>> org
>> .eclipse
>> .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun
>> .reflect
>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun
>> .reflect
>> .DelegatingMethodAccessorImpl
>> .invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
>>
>
>
with regards,
--Lachlan Deck
This archive was generated by hypermail 2.0.0 : Sat Mar 22 2008 - 17:40:45 EDT