Sorry, my reply was not phrased well. Whether you declare a module-info.java or not, you still have to add-exports either via command line or during runtime. What I meant with not needing to declare a dependency in module-info.java is that you don't need a 'requires' (or add-reads) because the unnamed module reads everything be default.
So, in your case you need a command line "--add-exports javafx.web/com.sun.webkit.network=my.app.Test" (or the equivalent runtime code) and "requires javafx.web" in the module-info.java. The latter is what's not needed if you don't declare a module. - Nir On Fri, Aug 24, 2018 at 4:43 PM Miroslav Nachev < [email protected]> wrote: > Now I adopted the application to be module, adding this: > module my.app.Test { > requires controlsfx; > requires javafx.base; > requires javafx.controls; > } > > What is the next step? > > > On Fri, Aug 24, 2018 at 4:02 PM Nir Lisker <[email protected]> wrote: > >> Hi Miro, >> >> Can I use the 2nd option with declaration in the source code, or the only >>> possible option is to pass as parameter when starting the application? >>> >> >> If your app is not a module then you don't have a module-info.java in >> your source code to declare the dependency. What you can do is export a >> package during runtime with the addExports method [1]. >> >> [1] >> https://docs.oracle.com/javase/10/docs/api/java/lang/Module.html#addExports(java.lang.String,java.lang.Module) >> >> On Fri, Aug 24, 2018 at 12:38 PM Miroslav Nachev < >> [email protected]> wrote: >> >>> Hi Arun, >>> >>> Thank you. I'm already using the first option, but then I need to access >>> other methods and classes that are not available. >>> Can I use the 2nd option with declaration in the source code, or the only >>> possible option is to pass as parameter when starting the application? >>> >>> >>> Miro. >>> >>> On Fri, Aug 24, 2018 at 12:04 PM Arunprasad Rajkumar < >>> [email protected]> wrote: >>> >>> > Hello Miro, >>> > >>> > CookieManager is a module private class, which is not exposed to >>> outside. >>> > >>> > I could think of two options, >>> > >>> > 1. com.sun.webkit.network.CookieManager is a type of >>> > java.net.CookieHandler, that means after instantiating WebEngine, you >>> can >>> > call CookieHandler.getDefault() to get the instance of CookieManager. >>> > new WebEngine(); >>> > CookieHandler cookieHandler = CookieHandler.getDefault(); // >>> This >>> > will be an instance of com.sun.webkit.network.CookieManager >>> > >>> > 2. Export the module private implementation using >>> > "--add-exports=javafx.web/com.sun.webkit.network=ALL-UNNAMED” >>> > >>> > Thanks, >>> > Arun >>> > >>> > > On 24-Aug-2018, at 12:27 PM, Miroslav Nachev < >>> > [email protected]> wrote: >>> > > >>> > > Hi, >>> > > >>> > > I have apps that work well on JDK8, but on JDK10 I do not have >>> access to >>> > > some classes, for example, com.sun.webkit.network.CookieManager. This >>> > class >>> > > is the only one, that is up to date (RFC 6265) and is part of Java. >>> The >>> > > java.net.CookieManager class is obsolete: RFC 2965. The Cookie >>> solution >>> > in >>> > > Apache HttpComponents is very complicated, difficult to use, and is >>> > mostly >>> > > not compatible with JDK and JavaFX. >>> > > In fact, I use JavaFX CookieManager in the following 3 scenarios: >>> > > >>> > > - When using WebEngine (JavaFX 8). >>> > > - JavaFX Desktop App to store frequently used words in text and >>> other >>> > > fields (TextField, etc.). >>> > > - To store session parameters in JavaFX Desktop Clients that uses >>> REST >>> > > WS or Web Sockets to connect to the Web Server (App Server). >>> > > >>> > > Is there any way to enable access to >>> com.sun.webkit.network.CookieManager >>> > > at JDK 10? >>> > > >>> > > >>> > > Regards, >>> > > Miro. >>> > >>> > >>> >>
