Object-Oriented Programming with Java Lecture Notes

15 April 2008 • Java Programs


Outline

Naming

Packages

Java Programs

Package Location

Jar Files

Using Jar Files

Locating Jar Files

Making Jar Files

Listing Jar Files

List Example

Reading The Listing

Creating Jar Files

Create Example

$ ls
blue  red

$ jar cf j.jar blue/*.class red/*.class

$ ls
blue  j.jar  red

$ jar tf j.jar
META-INF/
META-INF/MANIFEST.MF
blue/m.class
red/m.class

$ 

Program-Like Jars

Manifests

Adding Manifests

Main-Class Entries

Example

$ cat red/m.java
package red;

class hw {
  public static void
  main(String args[]) {
    System.out.println("hello world!");
    }
  }

$ javac red/m.java

$ java red.hw
hello world!

$ 

Example..

$ jar cf hw.jar red/*class

$ jar tf hw.jar
META-INF/
META-INF/MANIFEST.MF
red/hw.class

$ mv red /tmp

$ java red.hw
Exception in thread "main" 
java.lang.NoClassDefFoundError: red/hw

$ java -classpath hw.jar red.hw
hello world!

$ java -jar hw.jar
Failed to load Main-Class manifest attribute from
hw.jar

$ 

Example...

$ cat manifest
Manifest-Version: 1.0
Main-Class: red.hw

$ jar cmf manifest hw.jar red/*class
red/*class : no such file or directory

$ jar xf hw.jar

$ jar cmf manifest hw.jar red/*class

$ java -jar hw.jar
hello world!

$ 


This page last modified on 10 April 2008.

Creative
    Commons License