B4J Question Failed to load class "org.slf4j.impl.StaticLoggerBinder

Didier99

Member
Licensed User
I am getting this error trying to run an app created with the standalone package. The same app works fine on other computers in the same environment and the same computer has no issue running another B4J app also built with the packager, so I am quite puzzled.

The screen shot below is the output of the run_debug.bat batch file.

Any help appreciated

1782914247415.png
 

hatzisn

Expert
Licensed User
Longtime User
run_debug.bat
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
You should post the error as text by copy and paste the text.
The error shows getversion in main where a list is not initialized.
 
Upvote 0

hatzisn

Expert
Licensed User
Longtime User
Upvote 0

aeric

Expert
Licensed User
Longtime User
I see there is a log COM3.
Are you using jSerial?
A very common mistake by B4X developers is not adding jssc.dll when creating a standalone package.

B4X:
#CustomBuildAction: After Packager, %WINDIR%\System32\robocopy.exe, ..\ temp\build\bin\ jssc.dll

 
Upvote 0

Didier99

Member
Licensed User
You should post the error as text by copy and paste the text.
The error shows getversion in main where a list is not initialized.
That would have been my preference too but this was a screen shot sent to me by the user.

The first use for the list in getVersion is:
B4X:
    Try
        list1 = File.ListFiles( ProjectFolder )
    Catch
        MsgBox.Show( "Cannot find project folder " & ProjectFolder, AppName )
        Return
    End Try
and it is my understanding that the list does not need to be initialized when used that way.
 
Upvote 0

Didier99

Member
Licensed User
I see there is a log COM3.
Are you using jSerial?
A very common mistake by B4X developers is not adding jssc.dll when creating a standalone package.

B4X:
#CustomBuildAction: After Packager, %WINDIR%\System32\robocopy.exe, ..\ temp\build\bin\ jssc.dll

I do have that exact statement at the top of the main file.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
That would have been my preference too but this was a screen shot sent to me by the user.

The first use for the list in getVersion is:
B4X:
    Try
        list1 = File.ListFiles( ProjectFolder )
    Catch
        MsgBox.Show( "Cannot find project folder " & ProjectFolder, AppName )
        Return
    End Try
and it is my understanding that the list does not need to be initialized when used that way.
What is ProjectFolder?
 
Upvote 0

Didier99

Member
Licensed User
What is ProjectFolder?
ProjectFolder is defined as a networked folder where various files (including current and previous versions of the exe) are located.
The user has access to it.
Users normally do not run the program directly from this networked drive, they are instructed to copy the exe package to their local hard drive and run it from there.
The program checks the networked folder at startup to see if it's running the most recent version, and display a message if it's not.
I have about 40 people on the same network using that program without that issue. This is a new user. It is possible that this user may be missing some configuration files but looking at the debug output, I don't see anything indicating that's the problem here.
 
Last edited:
Upvote 0

aeric

Expert
Licensed User
Longtime User
That would have been my preference too but this was a screen shot sent to me by the user.

The first use for the list in getVersion is:
B4X:
    Try
        list1 = File.ListFiles( ProjectFolder )
    Catch
        MsgBox.Show( "Cannot find project folder " & ProjectFolder, AppName )
        Return
    End Try
and it is my understanding that the list does not need to be initialized when used that way.
Try switch to:
B4X:
Wait For (File.ListFilesAsync(Dir)) Complete (Success As Boolean, Files As List)
 
Upvote 0

Didier99

Member
Licensed User
Try switch to:
B4X:
Wait For (File.ListFilesAsync(Dir)) Complete (Success As Boolean, Files As List)
This is failing the same way (no error message) but it turns out that this is indeed the statement that's causing the problem. The issue is that I had assumed the user had access to that network location, but he does not at the moment.

It is surprising that the Try/Catch would not catch it though, letting the program just crash and close immediately.

Thank you for the suggestions
 
Upvote 0
Top