User Tools

Site Tools


doc:appunti:prog:java_compile_jar_command_line

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
doc:appunti:prog:java_compile_jar_command_line [2021/11/08 17:37] – [Pack the Jar archive] niccolodoc:appunti:prog:java_compile_jar_command_line [2021/11/08 18:16] (current) – [Running the Java program from jar file] niccolo
Line 22: Line 22:
  
  
-===== Download the included libraries =====+===== Where to put the required libraries =====
  
-It is advisable to **create directory** which will contains all the **libraries** (downloaded as **.jar** archives) required by your projectthat directory should be placed at the root level of your Java project.+The project files are layed-out hierarchically starting from the project's root directory; in our example the source files are into the path **org.vmax.amba**. 
 + 
 +We decided to put **the required libraries** into a **subdirectory** relative to the project's root directory; we created a subdirectory named **lib** and placed all the **.jar** archives into it. At runtimethe compiled jar archive will search the libraries starting from its directory, descending the same **lib** subdirectory:
  
 <file> <file>
Line 43: Line 45:
          └─ midrive/          └─ midrive/
 </file> </file>
 +
 +This may not be the optimal solution, because jar libraries are not installed system-wide and thus they are not shared among other Java programs. This recipe has the advantage that the installation of the Java program and the required libraries can be accomplished by an **unprivileged user** in its home directory.
 +
  
 ===== Compile the Java code ===== ===== Compile the Java code =====
Line 70: Line 75:
     $(find . -type f -name '*.class')     $(find . -type f -name '*.class')
 </code> </code>
 +
 +
 +===== Running the Java program from jar file =====
 +
 +Finally we can **start the Java program** from the jar archive:
 +
 +<code>
 +java -jar /path/java-program/firmware-editor-tool.jar
 +</code>
 +
 +Into the jar archive there is the **MANIFEST.MF** file, which will indicate where to search for the required libraries, relative to the same jar archive directory.
  
doc/appunti/prog/java_compile_jar_command_line.1636389462.txt.gz · Last modified: 2021/11/08 17:37 by niccolo