Docker: java.nio.file.ProviderNotFoundException: Provider not found
Issue
Getting this error while attempting to build a docker container for Management Console.
Cause
Environmental.
Solution
The managementconsole.sh (Linux installations of RPA) file contains a line to create a jvm session to configure Management Console:
java -cp /usr/local/tomcat/lib/jdbc/*:/managementConsoleConfigurator.jar com.kapowtech.configure.ManagementConsoleConfigurator
This is where the error generates from.
To troubleshoot this issue, run the docker image interactively (docker run -it {image ID}) and attempt to unzip the ROOT.war file. For example, it may be in the path /usr/local/tomcat/webapp folder.
That may throw an error: "End-of-central-directory signature not found. Either this file is not a zip file, or it constitutes one disk of a multi-part archive..."
In MC's Dockerfile, the following command copies the ManagementConsole.war file to the container as ROOT.war:
COPY WebApps/ManagementConsole.war /usr/local/tomcat/webapps/ROOT.war
Note the size of the ROOT.war file - it may be smaller (hundreds of KB in size) than the ManagementConsole.war file. That indicates a file system issue. In one case, git LFS (Large File System) was copying the pointer file instead of the real file.
To validate git LFS (or any other LFS related issue) as the cause, remove the LFS layer from the build process and retry.
Level of Complexity
High
Applies to
Product | Version | Build | Environment | Hardware |
---|---|---|---|---|
RPA |
10.x 11.x |