Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java 9 - MacOS Mojave Compatibility #150

Closed
gcantoni opened this issue Jan 10, 2019 · 4 comments
Closed

Java 9 - MacOS Mojave Compatibility #150

gcantoni opened this issue Jan 10, 2019 · 4 comments
Assignees
Labels
bug This issue describes a bug macOS Everything that is related to macOS

Comments

@gcantoni
Copy link

gcantoni commented Jan 10, 2019

Stackrace:

java -jar fidocadj.jar The Quaqua look and feel is not available I will continue with the basic Apple l&f Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/apple/eawt/ApplicationListener at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1009) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:699) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:622) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:291) at net.sourceforge.fidocadj.CreateSwingInterface.run(FidoMain.java:453) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.lang.ClassNotFoundException: com.apple.eawt.ApplicationListener at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)

@DarwinNE DarwinNE added bug This issue describes a bug macOS Everything that is related to macOS labels Jan 11, 2019
@DarwinNE DarwinNE pinned this issue Jan 11, 2019
@DarwinNE
Copy link
Owner

FidoCadJ does not start on Java 9 running on MacOS. This is due to an old code using a deprecated class allowing for a better integration of the user interface in the Macintosh environment:

https://stackoverflow.com/questions/9239287/what-is-the-alternative-for-deprecated-com-apple-eawt-applicationlistener

This is a high-priority issue for me.

@DarwinNE DarwinNE self-assigned this Jan 11, 2019
DarwinNE added a commit that referenced this issue Jan 11, 2019
@gcantoni
Copy link
Author

@DarwinNE
Copy link
Owner

Hi @gcantoni
thanks. I'll leave the issue open though, as AppleSpecific class must be rewritten to avoid obsolete classes.

Kind regards,
D.

@DarwinNE
Copy link
Owner

DarwinNE commented Apr 26, 2020

I think the code in ADesktopIntegration completely supersedes the old AppleSpecific class that is now removed from the FidoCadJ source code.
The code is indubitably cleaner as we don't need to use reflection anymore to check if "AppleSpecific" is present. I hope it allows to have a better integration of FidoCadJ with the desktop environment with Linux and Windows.

On MacOS, I migrated from Quaqua l&f to Violetlib VAqua7, that seems to work relatively well. The configuration of the l&f is not complete at this moment, so I opened the issue #177 for this.

I close this issue, but don't hesitate to test the software on Linux and Windows and re-open it (or open more specific issues) if any problem appear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue describes a bug macOS Everything that is related to macOS
Projects
None yet
Development

No branches or pull requests

2 participants