B4J Question Build Standalone Package with Velocity library inside jServer

aeric

Expert
Licensed User
Longtime User
I "wrapped" Velocity library using JavaObject.
It is working fine if I compile the server app in Release.

A member asked me if the server can be compiled as Standalone Package.
I added the PackageProperty tags.

B4X:
#Region PackagerProperty
#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: AdditionalModuleInfoString = uses org.apache.velocity.runtime.RuntimeInstance;
'#PackagerProperty: AdditionalModuleInfoString = uses org.apache.velocity.runtime.resource.loader.ResourceLoader;
'#PackagerProperty: AdditionalModuleInfoString = uses org.apache.velocity.runtime.resource.loader.FileResourceLoader;
'#PackagerProperty: AdditionalModuleInfoString = uses org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
#PackagerProperty: AdditionalModuleInfoString = uses org.firebirdsql.jaybird.props.spi.ConnectionPropertyDefinerSpi;
#PackagerProperty: IncludedModules = jdk.charsets, jdk.crypto.ec
#CustomBuildAction: After Packager, %WINDIR%\System32\robocopy.exe, www temp\build\bin\www /E
#CustomBuildAction: After Packager, %WINDIR%\System32\robocopy.exe, templates temp\build\bin\templates /E
#End Region

Maybe because I don't use Velocity tools, it seems the app cannot find the default configuration file inside the jar.
I am getting an error when executing run_debug.bat and calling Velocity template.

2024-07-14 00:41:35.381:ERROR:eek:a.velocity:qtp1358444045-28: Cannot get Velocity Runtime default properties!
java.io.IOException: Resource not found: org/apache/velocity/runtime/defaults/velocity.properties

B4X:
C:\B4X\Development\support 1.01\Objects\temp\build>cd bin

C:\B4X\Development\support 1.01\Objects\temp\build\bin>java.exe @release_java_modules.txt  -m b4j/com.puterise.support.main
Reading file (C:\B4X\Development\support 1.01\Objects\temp\build\bin\config.ini)...
Reading file (C:\B4X\Development\support 1.01\Objects\temp\build\bin\firebird.ini)...
Checking database...
Firebird database found!
2024-07-14 00:41:26.302:INFO :cmvl.MLog:MLog-Init-Reporter: MLog clients using slf4j logging.
2024-07-14 00:41:26.851:INFO :cmvc.C3P0Registry:main: Initializing c3p0-0.9.5.2 [built 08-December-2015 22:06:04 -0800;debug? true; trace: 10]
2024-07-14 00:41:26.929:INFO :cmvci.AbstractPoolBackedDataSource:main: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose ->false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 20000, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, dataSourceName -> 1hgeby9b41bzr8sumsjyvy|2f8f5f62, debugUnreturnedConnectionStackTraces -> false, description-> null, driverClass -> org.firebirdsql.jdbc.FBDriver, extensions -> {}, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, forceUseNamedDriverClass -> false, identityToken -> 1hgeby9b41bzr8sumsjyvy|2f8f5f62, idleConnectionTestPeriod -> 600, initialPoolSize -> 3, jdbcUrl -> jdbc:firebirdsql://localhost:3050/C:/B4X/Development/support 1.01/Objects/SUPPORT.FDB?encoding=UTF8, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 1800, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 100, maxStatements -> 150, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, preferredTestQuery -> null, privilegeSpawnedThreads -> false, properties -> {password=******, user=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> true, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ]
Jul 14, 2024 12:41:26 AM org.firebirdsql.logging.JulLogger warn
WARNING: No plugins loaded from META-INF/services, falling back to fixed registration of default plugins
Jul 14, 2024 12:41:27 AM org.firebirdsql.logging.JulLogger warn
WARNING: No encoding sets were loaded. Make sure at least one valid /META-INF/services/org.firebirdsql.encodings.EncodingSet exists on the classpath (it is normally part of the jaybird jar-file). Falling back to default definition.
Jul 14, 2024 12:41:27 AM org.firebirdsql.logging.JulLogger warn
WARNING: No authentication plugins loaded through service loader, falling back to default list
Database checking completed.
Starting server...
2024-07-14 00:41:27.492:INFO :oejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 11.0.15+9-LTS
2024-07-14 00:41:27.586:INFO :oejss.DefaultSessionIdManager:main: Session workerName=node0
2024-07-14 00:41:27.617:INFO :oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@66d3eec0{/,file:///C:/B4X/Development/support%201.01/Objects/temp/build/bin/www/,AVAILABLE}
2024-07-14 00:41:27.633:INFO :oejs.RequestLogWriter:main: Opened C:\B4X\Development\support 1.01\Objects\temp\build\bin\logs\b4j-2024_07_13.request.log
2024-07-14 00:41:27.664:INFO :oejs.AbstractConnector:main: Started ServerConnector@2de23121{HTTP/1.1, (http/1.1)}{0.0.0.0:8000}
2024-07-14 00:41:27.664:INFO :oejs.Server:main: Started Server@740773a3{STARTING}[11.0.9,sto=0] @1730ms
Ticketing Server (version = 1.01 DEV) is running on port 8000
Open the following URL from your web browser
http://localhost:8000/support/
2024-07-14 00:41:35.381:ERROR:oa.velocity:qtp1358444045-28: Cannot get Velocity Runtime default properties!
java.io.IOException: Resource not found: org/apache/velocity/runtime/defaults/velocity.properties
        at b4j/org.apache.velocity.runtime.RuntimeInstance.setDefaultProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.initializeProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeSingleton.init(Unknown Source)
        at b4j/org.apache.velocity.app.Velocity.init(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JavaObject.RunMethod(Unknown Source)
        at b4j/com.puterise.support.velocity._initialize(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._showloginpage(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routewebget(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routeweb(Unknown Source)
        at b4j/com.puterise.support.webhandler._processrequest(Unknown Source)
        at b4j/com.puterise.support.webhandler._handle(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at b4j/anywheresoftware.b4a.BA.raiseEvent2(Unknown Source)
        at b4j/anywheresoftware.b4a.BA.raiseEvent(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet$Handle.run(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.Handle(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.doGet(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHolder.handle(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerCollection.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerWrapper.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.Server.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.lambda$handle$0(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.dispatch(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpConnection.onFillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Unknown Source)
        at b4j/org.eclipse.jetty.io.FillInterest.fillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at b4j/anywheresoftware.b4a.BA.raiseEvent2(Unknown Source)
        at b4j/anywheresoftware.b4a.BA.raiseEvent(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet$Handle.run(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.Handle(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.doGet(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHolder.handle(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerCollection.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerWrapper.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.Server.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.lambda$handle$0(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.dispatch(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpConnection.onFillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Unknown Source)
        at b4j/org.eclipse.jetty.io.FillInterest.fillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JavaObject.RunMethod(Unknown Source)
        at b4j/com.puterise.support.velocity._initialize(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._showloginpage(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routewebget(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routeweb(Unknown Source)
        at b4j/com.puterise.support.webhandler._processrequest(Unknown Source)
        at b4j/com.puterise.support.webhandler._handle(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        ... 33 more
Caused by: java.lang.RuntimeException: Cannot get Velocity Runtime default properties!
        at b4j/org.apache.velocity.runtime.RuntimeInstance.setDefaultProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.initializeProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeSingleton.init(Unknown Source)
        at b4j/org.apache.velocity.app.Velocity.init(Unknown Source)
        ... 48 more
Caused by: java.io.IOException: Resource not found: org/apache/velocity/runtime/defaults/velocity.properties
        ... 54 more
2024-07-14 00:41:36.215:ERROR:oa.velocity:qtp1358444045-27: Cannot get Velocity Runtime default properties!
java.io.IOException: Resource not found: org/apache/velocity/runtime/defaults/velocity.properties
        at b4j/org.apache.velocity.runtime.RuntimeInstance.setDefaultProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.initializeProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeSingleton.init(Unknown Source)
        at b4j/org.apache.velocity.app.Velocity.init(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JavaObject.RunMethod(Unknown Source)
        at b4j/com.puterise.support.velocity._initialize(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._showloginpage(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routewebget(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routeweb(Unknown Source)
        at b4j/com.puterise.support.webhandler._processrequest(Unknown Source)
        at b4j/com.puterise.support.webhandler._handle(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at b4j/anywheresoftware.b4a.BA.raiseEvent2(Unknown Source)
        at b4j/anywheresoftware.b4a.BA.raiseEvent(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet$Handle.run(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.Handle(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.doGet(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHolder.handle(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerCollection.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerWrapper.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.Server.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.lambda$handle$0(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.dispatch(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpConnection.onFillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Unknown Source)
        at b4j/org.eclipse.jetty.io.FillInterest.fillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at b4j/anywheresoftware.b4a.BA.raiseEvent2(Unknown Source)
        at b4j/anywheresoftware.b4a.BA.raiseEvent(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet$Handle.run(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.Handle(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JServlet.doGet(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/jakarta.servlet.http.HttpServlet.service(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHolder.handle(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doHandle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.servlet.ServletHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.session.SessionHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ContextHandler.doScope(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.ScopedHandler.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerCollection.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.handler.HandlerWrapper.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.Server.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.lambda$handle$0(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.dispatch(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpChannel.handle(Unknown Source)
        at b4j/org.eclipse.jetty.server.HttpConnection.onFillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Unknown Source)
        at b4j/org.eclipse.jetty.io.FillInterest.fillable(Unknown Source)
        at b4j/org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(Unknown Source)
        at b4j/org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at b4j/anywheresoftware.b4j.object.JavaObject.RunMethod(Unknown Source)
        at b4j/com.puterise.support.velocity._initialize(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._showloginpage(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routewebget(Unknown Source)
        at b4j/com.puterise.support.clientscontroller._routeweb(Unknown Source)
        at b4j/com.puterise.support.webhandler._processrequest(Unknown Source)
        at b4j/com.puterise.support.webhandler._handle(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        ... 38 more
Caused by: java.lang.RuntimeException: Cannot get Velocity Runtime default properties!
        at b4j/org.apache.velocity.runtime.RuntimeInstance.setDefaultProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.initializeProperties(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeInstance.init(Unknown Source)
        at b4j/org.apache.velocity.runtime.RuntimeSingleton.init(Unknown Source)
        at b4j/org.apache.velocity.app.Velocity.init(Unknown Source)
        ... 53 more
Caused by: java.io.IOException: Resource not found: org/apache/velocity/runtime/defaults/velocity.properties
        ... 59 more
 

aeric

Expert
Licensed User
Longtime User
See if there is an API to set the configuration properties instead of loading the defaults, or to set the default file path.
Understand that this requires to modify the library.
I will put this aside by now.
Thanks.
 
Upvote 0
Top