A message for Linux.com registered users: We are in the process of making changes to the Linux forums. Starting Monday, 8/13/18 at 6:00 PM PT, you will be unable to access the forums. They will re-launch as soon as possible on Wednesday, 8/15/18 with new features and improved functionality. Thank you for your patience and stay tuned for the new improved forums.
Finding out what command is running a program
Is there a way to find out what command is running a program when you click on it and run it graphically? My problem is with an executable jar file. When I right click on it in a graphical environment and choose to run it with the jre it runs fine. However, running java minecraft.jar from the command line results in this error:
Caused by: java.lang.ClassNotFoundException: minecraft.jar
at java.security.AccessController.doPrivileged(Native Method)
Could not find the main class: minecraft.jar. Program will exit.
I thought this may be a problem with the jar file, but if that is so why would it run with the graphical run method? What I would like is to find out exactly what command clicking "run with Sun Java 6 Runtime" is executing so that the file is working. Once I know that it should be possible to run that command manually, as well as from a .sh file.
Thanks in advance.
EDIT: The problem was simply that I was running the jar with incorrect syntax. The syntax for executable jars is java -jar foo.jar. It would still be nice to know the original question though.