Outline 1 Packages and Paths 2 Jar Files

  • Slides: 11
Download presentation

Outline 1. Packages and Paths 2. Jar Files

Outline 1. Packages and Paths 2. Jar Files

Packages Package rules: Each class belongs to a package Package may have sub-packages A

Packages Package rules: Each class belongs to a package Package may have sub-packages A package path is dot-separated foo. goo. Boo Class Boo, sub-package goo, package foo Sub-packages has no special properties or privileges

Package (cont'd) Package declaration package foo. goo; class Boo {. . . } Importing

Package (cont'd) Package declaration package foo. goo; class Boo {. . . } Importing classes from other packages import fi. fy. Fum; // Just class Fum import bar. baz. *; // All classes in bar. baz

Finding a Class When looking for a class, the JRE looks for a. class

Finding a Class When looking for a class, the JRE looks for a. class file in directories that match the package path: Sub-package = Sub-directory. The root directory is the classpath. Find the class foo. goo. Boo in the directories tree +-classpath |-. . . +-foo |-. . . +-goo |-X. class |-Y. class |-Boo. class

Finding a Class (cont'd) A classpath can contain several roots Finding foo. goo. Boo

Finding a Class (cont'd) A classpath can contain several roots Finding foo. goo. Boo in classpath=A: B: C A B C +-A +-fi +-fy |-Fum. class |-. . . +-B |-. . . +-foo |-. . . +-goo |-X. class |-Y. class +-C |-. . . +-foo |-. . . +-goo |-W. class |-Z. class |-Boo. class

Jar Files Jar files are the Java equivalent to libraries and executables. A jar

Jar Files Jar files are the Java equivalent to libraries and executables. A jar file is a zip archive that contains: . class files Other needed resources (images, config files) A manifest file (optional) Source files (optional)

The Manifest File The manifest file is a text file with key: value properties.

The Manifest File The manifest file is a text file with key: value properties. The JRE reads these properties when it loads the. jar file. Important properties in a jar manifest Manifest-Version: For backward compatibility. Main-Class: The class containing the main method to run. Class-Path: Space-separated list of other class paths to use. See http: //java. sun. com/javase/6/docs/technotes/guides/jar/ for details on jar and manifest specifications.

Manifest example Manifest. mf Manifest-Version: 1. 0 Main-Class: a. b. c. Foo Class-Path: mylib

Manifest example Manifest. mf Manifest-Version: 1. 0 Main-Class: a. b. c. Foo Class-Path: mylib 1. jar mylib 2. jar

Using Jar files as Java executables You can run a jar file by running:

Using Jar files as Java executables You can run a jar file by running: java -jar jar-file (Or double-click on it, in some systems) The Java Runtime will load all the content of the jar, including its classpath, and will run the main class that is written in the manifest. Jar files as Java shared libraries Including a jar file in a classpath will cause the JRE to look in the archive for classes and resources, as if it was another directory.

Creating Jars Creating a jar file using the command-line tool: jar cf <jar-file> <manifest-file>

Creating Jars Creating a jar file using the command-line tool: jar cf <jar-file> <manifest-file> files. . .