ChatGPT
The error message you're seeing indicates that your application has a dependency on the package com.sun.java.swing.plaf.windows, which is not available in Java 11. This package was part of the Java Runtime Environment (JRE) that was distributed by Oracle until Java 8, but it was removed in later versions.
To fix this issue, you'll need to update your application to use a different package or library that provides the functionality you need. One possible solution is to switch to the standard Swing look and feel, which is available in Java 11 without any additional dependencies.
If your application requires a specific look and feel that is not available in Java 11, you may need to find a third-party library that provides a compatible implementation. One such library is the Windows Look and Feel (also known as "Windows L&F"), which is available as part of the open source project called "JTattoo". You can download JTattoo from their website (https://www.jtattoo.net/) and add it to your application's classpath.
Once you have resolved the dependency issue, you should be able to compile and run your application using Java 11 without any further issues.
The --add-exports command-line option is used to explicitly export a package in the Java Development Kit (JDK) so that it can be accessed by another module. In this case, the command is specifying that the com.sun.java.swing.plaf.windows package from the java.desktop module should be exported to the jide.common module.
By default, the com.sun.java.swing.plaf.windows package is not exported by the java.desktop module in Java 9 and later versions. This means that code in other modules, such as the jide.common module, may not be able to access classes or resources in this package.
The --add-exports option allows you to explicitly grant access to a package that would otherwise be inaccessible. In this case, the option is being used to enable the JIDE Ultimate Suite to access the com.sun.java.swing.plaf.windows package, which contains classes that are used by JIDE's Windows Look and Feel implementation.
It's worth noting that using --add-exports to access internal JDK packages is generally discouraged, as it can lead to compatibility issues and may break in future JDK versions. Instead, it's recommended to use public APIs and libraries whenever possible. However, in some cases, using --add-exports may be necessary to work around limitations in third-party libraries or to access platform-specific features.
Stackoverflow - What is a look and feel that is compatible with MAC?
Stackoverflow - How to handle missing Swing PLAF classes in Java 11?
openjdk - Minimize WindowsLookAndFeel classes included with Unix JDKs
So it looks like LAFs are no longer included in the base jdk(?) What is confusing is that the issue is a requirement for com.sun.java.swing.plaf.windows in the igb bundle, but I can't find what is requiring com.sun.java.swing.plaf.windows.