Closed gcstang closed 7 years ago
Yes it does, I am using it on Windows 10, that error is telling you that it cannot find the app.xml file that you are using to update/download your app from, or that the defined launch="project.mainclass" cannot be found in said app.xml. like this <Application uri="http://somedomain/applocation/" launch="project.mainClass">
Still, it shouldn't result in an NPE. @ronsmits will look into it in a couple of days :)
The scp library I am using behaves differently on linux/mac then on windows. I am investigating but honestly I am thinking of putting another library in
@ronsmits Are you sure this has anything to do with the Maven plugin? There is no scp library involved in the default/current maven procedure for FXLauncher.
Added app.xml (added .txt so it would upload) app.xml.txt
Attempted with 1.0.16 and still getting the following errors: a NPE fxlauncher.Launcher.launchAppFromManifest Launcher: 161
Another window behind it has this: ExceptionInInitializerError fxlauncher.Launcher.lambda$createApplication Launcher 49
But this works on a Mac using the Native Build, just not on Windows 10.
My Configuration ` fxlauncher { cacheDir 'USERLIB/OcpUtilTest' applicationVendor 'Misc' applicationUrl 'http://myservername/utiltest/' applicationMainClass 'com.javafx.ui.application.Main' acceptDowngrade false deployTarget 'myuser@myservername:/var/www/html/utiltest' lingeringUpdateScreen true }
`
Can you upload the installer or point me to your source code repo for this project?
By the installer do you mean the exe?
Yes, or if not available, the built version of the launcher which points to an actually available url if possible.
I can attach the fxlauncher but it points to a private URL, is that what you want?
Yes. Can you also send me the files so I can host them locally?
I can't share them unfortunately, is there a way I can get you more information by running it command line or something that will get you more information?
I might be able to debug it without your actual project, but perhaps you could create a minimal sample instead? That would be much easier to debug also!
Here are the two archives, wouldn't let me upload here due to the size restriction.
https://www.dropbox.com/sh/5pho54zc65aimzp/AACcyhsMxlg-TX9bnoWao4Loa?dl=0
Please tell me if you have any issues or need something else.
Any update? Do you need something else?
Hi Gil,
Sorry for the late reply. I'm swamped at the moment, but I haven't forgotten about this. Will try my best to look at it this coming weekend.
Hi Gil,
I downloaded your project and setup a local apache server, created a host entry for the host name in the manifest and put the server project in /testapp. Then I started the exe file and it installed correctly. I was greeted with this screen:
After that, the app seems to go into the background. As far as I can tell, everything went according to plan.
I wonder what could be different on my machine compared to the machine where it doesn't work. I would think that you simply can't access the remote server, so that's why it can't find the main class after attempting to download the app.
The launcher needs internet access for the first run, since the actual app libraries aren't distributed with the application, just the launcher jar. Could this be the issue?
Can you verify that you can reach http://bur00ajx.us.oracle.com/testapp/ and app.xml as well as the jars it mentions from the machine where it fails? Can you also verify that you don't need proxy configuration to access those resources?
Again, I'm very sorry for the late reply, I will try to answer more quickly until we have resolved this issue.
Thank you for your response, I confirmed I have access via a browser but I'll try a few more things to see if I can get more information from the machine (It's a VirtualBox version of Windows 10 I'm using in order to get this working).
The application on a Mac appears in the menu bar at top of the screen but the test app appears not to do that, odd.
Thank you for your help, I'll get back to you if I run into anything else that can help.
Ok, so I might have found my issue. It seems running the EXE instead of using the java -jar fxlauncher.jar hides all the other errors and it seems there is a pathing issue in my application that I need to figure out.
Thank you for your help, I'll close this ticket for now if you like.
Great! Thanks for reporting back. I've seen similar issues before, but I'm curious about what exactly the issue was? Can you shed some light? Maybe I can improve the error reporting for these cases to avoid confusion in the future.
It turned out to be a pathing issue to the h2 database I was creating on startup but the errors aren't showing from the UI, I might need to look into that some more but it's working on Windows now. Apologies for wasting your time.
You didn't waste my time at all, I think you have highlighted an important shortcoming. If this happens at startup we should be able to detect it and warn the user :)
Thank you, that would be very helpful.
On Aug 16, 2017 3:03 PM, "Edvin Syse" notifications@github.com wrote:
You didn't waste my time at all, I think you have highlighted an important shortcoming. If this happens at startup we should be able to detect it and warn the user :)
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/edvin/fxlauncher/issues/65#issuecomment-322882892, or mute the thread https://github.com/notifications/unsubscribe-auth/ADBkKcDqBnQr6nMlYQsMLO-C5IGoYRtHks5sY0sAgaJpZM4M5Ma4 .
I had a look at it now, and errors in start() should already be covered. I added error reporting to errors in init() now. In what function did the error occur in your app?
My main application has a class called Main and in it I have a static block that calls a method setupSession() which initializes a database if it doesn't exist, the errors came from that. For some reason the fxlauncher gave a Class Not Found Exception if I remember correctly.
If I run it with the jar fxlauncher instead of the exe the errors show in the console. It could be I just need to send my e.printStackTraces to a log file instead of thinking fxlauncher would get those and display them when running as an exe.
OK, so it was the actual object creation that failed. That should be handled in the Launcher class:
try {
app = appClass.newInstance();
} catch (Throwable t) {
reportError("Error creating app class", t);
}
Weird that it's not showing up. I've seen issues where exceptions dealing with class instantiation isn't caught, maybe this is one of these situations. Not sure what else I can do to improve the error checking here actually. I'll leave this here in case anybody else has an idea.
Yeah that's the error I was getting in the fxlauncher window. "Error creating app class", unfortunately it didn't show the printStackTrace unless I ran it from fxlauncher.jar in the command line, for testing I'll just run it that way from now on. Thank you for looking into it.
OK. Until we can figure out how to show this error I think it's a good recommendation to run it from the command line if you encounter issues :)
After building on Windows 10 and trying to perform the installation I see the following error just during or after the update concludes. Does this work with Windows?
java.lang.NullPointerException at fxlauncher.Launcher.launchAppFromManifest(Launcher.java:164) at fxlauncher.Launcher.lambda$start$0(Launcher.java:153) at java.lang.Thread.run(Thread.java:745)