ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Tanner <caspersg...@gmail.com>
Subject Access jar files in a library directory in the jar file
Date Mon, 17 Jun 2013 22:38:58 GMT
Hi,

I'm trying to build a runnable jar file that includes several libraries that are also jar
files.  My problem is that Java does not seem to be able to find the libraries.  I get this
message when I try to run the jar file:

java -jar LibraryAlmaInterface.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/linfield/PreferencesManager/XMLPrefs
        at org.linfield.Library.PatronDataTransfer.<clinit>(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.linfield.PreferencesManager.XMLPrefs
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 1 more

You can see from the table of contents that the c;ass file is there:

jar tf LibraryAlmaInterface.jar
META-INF/
META-INF/MANIFEST.MF
lib/
org/
org/linfield/
org/linfield/Library/
org/linfield/Library/Workers/
lib/jsch-0.1.49.jar
lib/linfield.jar
lib/log4j-1.2.15.jar
lib/xerces.jar
org/linfield/Library/CalculateBarcode.class
org/linfield/Library/PatronDataTransfer.class
org/linfield/Library/Workers/MyUserInfo.class
org/linfield/Library/Workers/PatronLoadsXML.class
org/linfield/Library/Workers/SecureFTPHandler.class

And the linfield.jar contains the class that the loader can't find:

META-INF/
META-INF/MANIFEST.MF
org/
org/linfield/
org/linfield/PreferencesManager/
org/linfield/PreferencesManager/PreferencesParser.class
org/linfield/PreferencesManager/XMLPrefs.class
org/linfield/PreferencesManager/XMLPrefs.java
org/linfield/PreferencesManager/PreferencesParser.java

And the manifest in linfield.jar is:

cat META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.4.0 (Sun Microsystems Inc.)

And most importantly, here is the main MANIFEST.MF file (for LibraryAlmaInterface.jar):

cat META-INF/MANIFEST.MF
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_45-b06-451-11M4406 (Apple Inc.)
Built-By: rtanner
Main-Class: org.linfield.Library.PatronDataTransfer
Class-Path: lib/jsch-0.1.49.jar lib/linfield.jar lib/log4j-1.2.15.jar 
 lib/xerces.jar


I'm assuming that the problem is with the manifest, but I have no idea what it is.  Any help
would be greatly appreciated.

Thanks,


Rob Tanner
Linfield College





Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message