I used the instructions found in Maven - how can I add an arbitrary entry to the Class-Path path to the bank to add an arbitrary entry to the Class-Path attribute. Here is my MANIFEST.MF file:
Manifest-Version: 1.0 Class-Path: jace-runtime.jar Main-Class: org.jace.examples.Test
I defined org.jace.examples.Test as follows:
public class Test { public static void main(String[] args) { System.out.println("classpath: " + System.getProperty("java.class.path")); System.out.println("PeerExample: " + Class.forName("org.jace.util.ShutdownHook")); } }
where org.jace.util.ShutdownHook defined in jace-runtime.jar . When I java -jar peer_example1.jar I get the following output:
classpath: peer_example1.jar Exception in thread "main" java.lang.ClassNotFoundException: org.jace.util.ShutdownHook
In other words, Java adds the JAR executable in Class-Path to classes, but ignores Class-Path to classes. If I java -cp jace-runtime.jar;peer_example1.jar org.jace.examples.Test I get the expected result:
classpath: jace-runtime.jar;peer_example1.jar
Any ideas?
java classpath jar
Gili May 03 '12 at 17:34 2012-05-03 17:34
source share