Example Expansion of an Uber Jar
The following examples demonstrate how a codebase that is uploaded in an uber jar is displayed in the Analysis Workbench, depending on the archive level configured for the upload (as described in Performing the Codebase Upload).
The expansion of a sources jar is handled like that of an uber jar in these examples except that the sources jar will not contain other jars.
In these examples, the uber jar codebaseABC.jar is uploaded in a zip file of the same name. Each example assumes that the Expand Source and Uber jar files option has been enabled for the project (as described in Enabling the Expansion of Sources and Uber Jars).
Contents of the Uber Jar
The contents of the zip file and the uber file it contains looks like this before uploading:
codebaseABC.zip (uploaded file)
---codebaseABC.jar (uber jar containing codebase)
------uber2.jar
---------regular1.jar
------------file1.txt
------------file2.txt
------sources1.jar
-----------file3.java
-----------file4.java
------folder
---------file5.bin
Expansion of Uploaded File Only (Containing the Uber Jar)
The uploaded codebase looks like this if Uploaded File Only for Archive Expansion Options is applied: codebaseABC.jar.
In this case:
- The
codebaseABC.jaris extracted fromcodebaseABC.zip. - The first-level archive,
codebaseABC.jar(the main uber jar), is retained but not expanded.
Expansion of Uploaded File (Containing the Uber Jar) and First-Level Archives Only
The uploaded codebase looks like this if the Uploaded file and first-level archives only option for Archive Expansion Options is selected but the Delete archive files after expansion option is not selected.
codebaseABC
---uber2.jar
---sources1.jar
---folder1
------file5.bin
codebaseABC.jar
- The
codebaseABC.jaris extracted fromcodebaseABC.zip. - The first-level archive,
codebaseABC.jar(the main uber jar) is expanded (and retained). - The second-level archives inside
codebaseABC.jar—uber2.jarandsources1.jar—are retained but not expanded. - The folder,
folder1(insidecodebaseABC.jar) and its contents,file5.bin, are visible in the codebase. Any evidence found in the filefile5.bincan be explored in the Analysis Workbench.
If Delete archive files after expansion is selected, the uploaded codebase looks like this:
codebaseABC
---uber2.jar
---sources1.jar
---folder1
------file5.bin
Expansion of Uploaded File (Containing the Uber Jar) and All Archives
The uploaded codebase looks like this if the Uploaded file and all contained archives option for Archive Expansion Options is selected but the Delete archive files after expansion option is not selected.
codebaseABC
---uber2
------regular1.jar
---uber2.jar
---sources1
--------file3.java
--------file4.java
---sources1.jar
---folder1
------file5.bin
codebaseABC.jar
In this case:
- The
codebaseABC.jaris extracted fromcodebaseABC.zip. - This first-level archive,
codebaseABC.jar(the main uber jar), is then expanded (and retained). - The second-level archive inside
codebaseABC.jar—uber2.jarandsources1.jar—are expanded (and retained). - The
regular1.jarinside theuber2.jaris retained but not expanded since it is a regular jar. - The files,
file3andfile4, contained in thesources1.jarare visible in the codebase. Any evidence available in these files can be explored in the Analysis Workbench. - The folder,
folder1(insidecodebaseABC.jar) and its contents,file5.bin, are visible in the codebase. Any evidence found in the filefile5.bincan be explored in the Analysis Workbench.
If Delete archive files after expansion is selected, the uploaded codebase looks like this:
codebaseABC
---uber2
------regular1.jar
---sources1
--------file2.java
--------file3.java
---folder1
------file5.bin