Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
student:java:jar [2020/01/23 11:28] – Added the section on UnsupportedClassVersionError bernstdhstudent:java:jar [2024/01/28 14:59] (current) bernstdh
Line 1: Line 1:
- 
- 
 ===== The Java Archive Tool (jar) ===== ===== The Java Archive Tool (jar) =====
  
Line 44: Line 42:
 You can create an executable JAR file by including  a manifest that includes a ''%%Main-Class:%%'' directive.  For more information, see the  [[ http://java.sun.com/docs/books/tutorial/deployment/jar/appman.html | tutorial ]]. You can create an executable JAR file by including  a manifest that includes a ''%%Main-Class:%%'' directive.  For more information, see the  [[ http://java.sun.com/docs/books/tutorial/deployment/jar/appman.html | tutorial ]].
  
 +==== Running an Executable .jar File ====
  
-==== Permissions and Executable .jar Files ==== +You can run an executable .jar file from a command shell/terminal window as follows:
  
-Depending on your operating system, you may need to change the  permissions of the executable ''%%.jar%%'' file (i.e.,  provide permission to execute). In most OSs this can be done from  the command line (using ''%%chmod%%'') or from the GUI  (in a variety of different ways).+  - Open a command shell/terminal window. 
 +  - Change the working  directory to the directory that contains the ''%%.jar%%'' file (using the  [[https://ss64.com/|cd command]]) 
 +  - Execute the application as follows: ''%% java -jar //filename//.jar %%''
  
 +You can also run an executable .jar file from a file explorer/finder by double-clicking on it. However, your associations and permissions must first be setup.
  
-You may also need to set the default manner in which it is  "opened" (i.e., instruct the OS to used the Java runtime). This is  sometimes also called the files "association" or "default  program". From the command line: in MS Windows you can  use ''%%assoc%%'', is OS X you can edit  ''%%~/Library/Preferences/com.apple.launchservices.plist%%'',  and in Linux you can edit  ''%%/usr/share/applications/defaults.list%%'' From the GUI:  in MS Windows you can click on <key>Start</key>+<key>Default  Programs</key>, in OS X you can right-click on the file and  use <key>File</key>+<key>Get Info</key>, and in Linux you  can right-click and select <key>Properties</key>+===== Permissions and Executable .jar Files =====
  
-==== Testing an Executable .jar File ====+Depending on your operating system, you may need to change the  permissions of the executable ''%%.jar%%'' file (i.e.,  provide permission to execute). In most OSs this can be done from  the command line (using the  [[https://ss64.com/|chmod command]]) or from the GUI  (in a variety of different ways).
  
 +===== Associations and Executable .jar Files =====
  
-If you just click/double-click on an executable ''%%.jar%%''  file and the code throws an exception you (typically) won't see  itHence, when testing it is often useful to run the application  from the command lineTo do soopen a command shell, change the working  directory to the directory that contains the ''%%.jar%%'' file,  and then execute the application as follows:+You may also need to set the default manner in which it is  "opened" (i.e., instruct the OS to used the Java runtime). This is  sometimes also called the files "association" or "default  program". From the command line: in MS Windows you can  use ''%%assoc%%'', in OS X you can edit  ''%%~/Library/Preferences/com.apple.LaunchServices.plist%%'',  and in Linux you can edit  ''%%/usr/share/applications/defaults.list%%'' From the GUI:  in MS Windows you can click on <key>Start</key>+<key>Default  Programs</key>, in OS X you can right-click on the file and  use <key>File</key>+<key>Get Info</key>and in Linux you  can right-click and select <key>Properties</key>.
  
 +==== Testing an Executable .jar File that You Created====
  
-|   java -jar //filename//.jar   |+If you just click/double-click on an executable ''%%.jar%%''  file and the code throws an exception you (typically) won't see  it. Hence, when testing it is often useful to run the application  from the command line. To do so, see the relevant instructions above.
  
 If you get a message like the following: If you get a message like the following:
Line 69: Line 72:
 </code> </code>
  
-it means that you need to update your version of Java. When doing so, you need to be careful because many systems have both the Java Runtime Environment (JRE) and the Java Development Kit (JDK) installed, and updating the one may not update the other. In Linux/OSX you can use %% which java%% and in MS-WIndows you can use %%where java%% to find the path to the Java interpreter. You can change the %%path%% environment variable (not the %%classpath%% environment variable) to change which Java interpreter is used (i.e., either the one installed with the JRE or the one installed with the JDK).+it means that you need to update your version of Java. When doing so, you need to be careful because many systems have both the Java Runtime Environment (JRE) and the Java Development Kit (JDK) installed, and updating the one may not update the other. In Linux/OSX you can use ''%%which java%%'' and in MS-WIndows you can use ''%%where java%%'' to find the path to the Java interpreter. You can change the ''%%path%%'' environment variable (not the ''%%classpath%%'' environment variable) to change which Java interpreter is used (i.e., either the one installed with the JRE or the one installed with the JDK).
  
 ==== Using Resources in a .jar File ==== ==== Using Resources in a .jar File ====