RapidMiner

Source build: ClassCastException AquaMenuBarUI on Mac OSX

SOLVED
Contributor

Source build: ClassCastException AquaMenuBarUI on Mac OSX

Hi,

 

I built RapidMiner 7 from source and managed to get it running in IntelliJ IDEA. Even so, I don't see the main menu at the top. I do see this menu when I install and run RapidMiner from the DMG package directly. I get the log and stack trace below after starting the source-built version. Something seems to be going wrong when instantiating the menu. I'm running Java 8 (build 1.8.0_102-b14) and OSX El Capitan.

 

Anyone seen this before?

 

Cheers,

 

Oct 25, 2016 2:48:09 PM com.rapidminer.tools.I18N <clinit>

INFO: Set locale to en.

Oct 25, 2016 2:48:09 PM com.rapidminer.tools.PlatformUtilities logInfo

INFO: rapidminer.home is '/Users/Ralph/development/rapidminer'.

Oct 25, 2016 2:48:09 PM com.rapidminer.core.license.ProductConstraintManager initialize

INFO: Initializing license manager.

Oct 25, 2016 2:48:09 PM com.rapidminer.core.license.ProductConstraintManager initialize

INFO: Using default license location.

Oct 25, 2016 2:48:09 PM com.rapidminer.core.license.ProductConstraintManager initialize

INFO: Registering default product.

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.apple.laf.AquaMenuBarUI cannot be cast to com.rapidminer.gui.look.ui.MenuBarUI

at com.rapidminer.gui.look.ui.MenuUI.paintBackground(MenuUI.java:151)

at javax.swing.plaf.basic.BasicMenuItemUI.paintMenuItem(BasicMenuItemUI.java:501)

at javax.swing.plaf.basic.BasicMenuItemUI.paint(BasicMenuItemUI.java:475)

at javax.swing.plaf.basic.BasicMenuItemUI.update(BasicMenuItemUI.java:471)

at javax.swing.JComponent.paintComponent(JComponent.java:780)

at javax.swing.JComponent.paint(JComponent.java:1056)

at javax.swing.JComponent.paintChildren(JComponent.java:889)

at javax.swing.JComponent.paint(JComponent.java:1065)

at javax.swing.JComponent.paintChildren(JComponent.java:889)

at javax.swing.JComponent.paint(JComponent.java:1065)

at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)

at javax.swing.JComponent.paintChildren(JComponent.java:889)

at javax.swing.JComponent.paintToOffscreen(JComponent.java:5217)

at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)

at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)

at javax.swing.RepaintManager.paint(RepaintManager.java:1272)

at javax.swing.JComponent.paint(JComponent.java:1042)

at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)

at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:79)

at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:116)

at java.awt.Container.paint(Container.java:1975)

at java.awt.Window.paint(Window.java:3904)

at javax.swing.RepaintManager$4.run(RepaintManager.java:842)

at javax.swing.RepaintManager$4.run(RepaintManager.java:814)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)

at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)

at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)

at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)

at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

1 ACCEPTED SOLUTION

Accepted Solutions
RMStaff
Solution
Accepted by topic author ralph_brecheise
‎12-01-2016 08:20 AM

Re: Source build: ClassCastException AquaMenuBarUI on Mac OSX

Hi,

 

you are looking for the following system properties:

 

// set system properties to allow menu bar shown in OS X menu bar (old + new version)
System.setProperty("com.apple.macos.useScreenMenuBar", "true");
System.setProperty("apple.laf.useScreenMenuBar", "true");

 

Regards,

Marco

_________________________________________________________
Team Lead Software Engineering | RapidMiner GmbH
1 REPLY
RMStaff
Solution
Accepted by topic author ralph_brecheise
‎12-01-2016 08:20 AM

Re: Source build: ClassCastException AquaMenuBarUI on Mac OSX

Hi,

 

you are looking for the following system properties:

 

// set system properties to allow menu bar shown in OS X menu bar (old + new version)
System.setProperty("com.apple.macos.useScreenMenuBar", "true");
System.setProperty("apple.laf.useScreenMenuBar", "true");

 

Regards,

Marco

_________________________________________________________
Team Lead Software Engineering | RapidMiner GmbH