I am using mac 10.6.8 (snow leopard). I replaced the original JDK 6 installation with JDK 7 (which, incidentally, cannot be done in a completely clean way in my OS) so now the "java" command points to the jre in 7 and JAVA_HOME is set to the 7 installation too. I then installed maven 3.0.5 and finally spring roo through homebrew. When I try starting the roo shell I get the error message below. I have no clue as to the nature of the problem.
Is there any way to pass a parameter to roo to use a difference jre, for example?
$ roo Nov 12, 2013 10:38:53 PM org.springframework.roo.felix.JdkDelegatingLogListener logNow SEVERE: [org.springframework.roo.uaa [71]] [org.springframework.roo.uaa.UaaRelatedComponentRegistrationHelper] The activate method has thrown an exception java.lang.UnsatisfiedLinkError: /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libosx.dylib: dlopen(/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libosx.dylib, 1): Symbol not found: _JNFRunLoopDidStartNotification Referenced from: /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/./libosxapp.dylib Expected in: /System/Library/Frameworks/JavaVM.framework/Versions/A/Frameworks/JavaNativeFoundation.framework/Versions/A/JavaNativeFoundation in /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/./libosxapp.dylib at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1957) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1882) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864) at java.lang.Runtime.loadLibrary0(Runtime.java:849) at java.lang.System.loadLibrary(System.java:1087) at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67) at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47) at java.security.AccessController.doPrivileged(Native Method) at java.util.prefs.MacOSXPreferencesFile.(MacOSXPreferencesFile.java:82) at java.util.prefs.MacOSXPreferences.cfFileForNode(MacOSXPreferences.java:137) at java.util.prefs.MacOSXPreferences.(MacOSXPreferences.java:103) at java.util.prefs.MacOSXPreferences.(MacOSXPreferences.java:77) at java.util.prefs.MacOSXPreferences.getUserRoot(MacOSXPreferences.java:58) at java.util.prefs.MacOSXPreferencesFactory.userRoot(MacOSXPreferencesFactory.java:30) at java.util.prefs.Preferences.userRoot(Preferences.java:457) at java.util.prefs.Preferences.userNodeForPackage(Preferences.java:371) at org.springframework.uaa.client.util.PreferencesUtils.getPreferencesFor(PreferencesUtils.java:34) at org.springframework.uaa.client.internal.UaaServiceImpl.(UaaServiceImpl.java:71) at org.springframework.uaa.client.UaaServiceFactory.getUaaService(UaaServiceFactory.java:61) at org.springframework.uaa.client.UaaServiceFactory.getUaaService(UaaServiceFactory.java:42) at org.springframework.roo.uaa.UaaRelatedComponentRegistrationHelper.activate(UaaRelatedComponentRegistrationHelper.java:28) 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.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472) at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226) at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333) at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157) at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:256) at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253) at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147) at org.apache.felix.scr.impl.BundleComponentActivator.(BundleComponentActivator.java:111) at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285) at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203) at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610) at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3879) at org.apache.felix.framework.Felix.startBundle(Felix.java:1850) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1192) at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:266) at java.lang.Thread.run(Thread.java:724)
Nov 12, 2013 10:38:53 PM org.springframework.roo.felix.JdkDelegatingLogListener logNow SEVERE: [org.springframework.roo.uaa [71]] [org.springframework.roo.uaa.UaaRelatedComponentRegistrationHelper] Component instance could not be created, activation failed
I couldn't find a real solution for JDK 7, so I finally simply pointed my JAVA_HOME variable to java 6 and it works now.
It must be some particularity of the interaction between the JDK 7 installation and OSX snow leopard that I could not understand.