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).

Contents of the Uber Jar
Expansion of Uploaded File Only (Containing the Uber Jar)
Expansion of Uploaded File (Containing the Uber Jar) and First-Level Archives Only
Expansion of Uploaded File (Containing the Uber Jar) and All Archives

Note: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.jar is extracted from codebaseABC.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.jar is extracted from codebaseABC.zip.
The first-level archive, codebaseABC.jar (the main uber jar) is expanded (and retained).
The second-level archives inside codebaseABC.jaruber2.jar and sources1.jar—are retained but not expanded.
The folder, folder1 (inside codebaseABC.jar) and its contents, file5.bin, are visible in the codebase. Any evidence found in the file file5.bin can 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.jar is extracted from codebaseABC.zip.
This first-level archive, codebaseABC.jar (the main uber jar), is then expanded (and retained).
The second-level archive inside codebaseABC.jaruber2.jar and sources1.jar—are expanded (and retained).
The regular1.jar inside the uber2.jar is retained but not expanded since it is a regular jar.
The files, file3 and file4, contained in the sources1.jar are visible in the codebase. Any evidence available in these files can be explored in the Analysis Workbench.
The folder, folder1 (inside codebaseABC.jar) and its contents, file5.bin, are visible in the codebase. Any evidence found in the file file5.bin can 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