I've been trying out the updated versions of jServer posted by @tchart here (thanks for posting these @tchart!)
I've had no problems running my jRDC2 based app in debug & release mode but get the following errors when trying to build a standalone package:
The app still packages correctly with the original jServer v4.0 version supplied internally within the latest B4J.
Can anyone tell me what's causing these packaging errors and how I can fix them?
Do I need to add an extra #PackagerProperty?
I already have all the #PackagerProperty settings from the jServer v4.0 thread:
Many thanks.
Solution Update: As well as the post marked as the solution, see also post #8 for an explanation of how the errors above were solved by @teddybear .
Update 2: As well as those listed in @teddybear's solution, I had to add java.desktop to the list of includedModules (#PackagerProperty: IncludedModules =...) to prevent an error (java.lang.NoClassDefFoundError: java/beans/PropertyChangeListener) when running the app from the package.
(possibly needed only with an MS SQL Server database in use)
I've had no problems running my jRDC2 based app in debug & release mode but get the following errors when trying to build a standalone package:
Packaging error 1 with jserver-11.0.21:
B4JPackager11 Version 1.40
:
:
Non-UI program
:
Running: C:\Java\jdk-17.0.10\bin\jdeps
.
Exception in thread "main" java.lang.module.FindException: Module org.eclipse.jetty.http2.hpack not found, required by org.eclipse.jetty.http2.common
at java.base/java.lang.module.Resolver.findFail(Resolver.java:893)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:192)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:141)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:421)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:255)
at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:564)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:603)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:557)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:533)
at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49)
Packaging error 2 with jServer-11.0.20:
B4JPackager11 Version 1.40
:
:
Running: C:\Java\jdk-17.0.10\bin\jar
Non-UI program
:
Running: C:\Java\jdk-17.0.10\bin\jdeps
.
Exception in thread "main" java.lang.module.FindException: Module org.slf4j not found, required by org.eclipse.jetty.http2.common
at java.base/java.lang.module.Resolver.findFail(Resolver.java:893)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:192)
at java.base/java.lang.module.Resolver.resolve(Resolver.java:141)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:421)
at java.base/java.lang.module.Configuration.resolve(Configuration.java:255)
at jdk.jdeps/com.sun.tools.jdeps.JdepsConfiguration$Builder.build(JdepsConfiguration.java:564)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.buildConfig(JdepsTask.java:603)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:557)
at jdk.jdeps/com.sun.tools.jdeps.JdepsTask.run(JdepsTask.java:533)
at jdk.jdeps/com.sun.tools.jdeps.Main.main(Main.java:49)
The app still packages correctly with the original jServer v4.0 version supplied internally within the latest B4J.
Can anyone tell me what's causing these packaging errors and how I can fix them?
Do I need to add an extra #PackagerProperty?
I already have all the #PackagerProperty settings from the jServer v4.0 thread:
B4X:
#PackagerProperty: AdditionalModuleInfoString = provides org.slf4j.spi.SLF4JServiceProvider with org.eclipse.jetty.logging.JettyLoggingServiceProvider;
#PackagerProperty: AdditionalModuleInfoString = provides org.eclipse.jetty.io.ssl.ALPNProcessor.Server with org.eclipse.jetty.alpn.java.server.JDK9ServerALPNProcessor;
#PackagerProperty: AdditionalModuleInfoString = provides org.eclipse.jetty.http.HttpFieldPreEncoder with org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder, org.eclipse.jetty.http.Http1FieldPreEncoder;
#PackagerProperty: AdditionalModuleInfoString = uses org.eclipse.jetty.util.security.CredentialProvider;
#PackagerProperty: AdditionalModuleInfoString = uses org.eclipse.jetty.io.ssl.ALPNProcessor.Server;
#PackagerProperty: IncludedModules = jdk.charsets, jdk.crypto.ec
Many thanks.
Solution Update: As well as the post marked as the solution, see also post #8 for an explanation of how the errors above were solved by @teddybear .
Update 2: As well as those listed in @teddybear's solution, I had to add java.desktop to the list of includedModules (#PackagerProperty: IncludedModules =...) to prevent an error (java.lang.NoClassDefFoundError: java/beans/PropertyChangeListener) when running the app from the package.
(possibly needed only with an MS SQL Server database in use)
Last edited: