File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes using an executable jar file Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "using an executable jar file" Watch "using an executable jar file" New topic

using an executable jar file

Rolf Johansson
Ranch Hand

Joined: Feb 25, 2004
Posts: 32
I have an application that uses classes contained in a jar file for processing Excel spreadsheets (the Java Excel API). This works fine when I run it as:

with my CLASSPATH set to:

I want to "bundle" all my classes for this application into an executable jar file, then run the application from the executable jar file. So I create the executable jar file containing the "mainClass" as:

But when I execute it as:

Java cannot find classes contained in the jxl.jar file:

This class was found when executing directly from the .class file and this file is indeed in the jxl.jar file:

So I have 2 questions:
1) Why isn't jxl.jar found when I try to execute the executable jar file?
2) Is there a way I can add jxl.jar to the executable jar file, so I just need to deliver 1 file?

- Rolf.
Mark Wuest
Ranch Hand

Joined: Jun 07, 2003
Posts: 88
Running java - jar ignores classpath. I'm sure "it's not a bug, it's a feature," but I don't know why.

I can think of four ways to do this:

1 - java -cp jxl.jar:ReadPower.jar com.what.ever.ReadPower

2 - unjar jxl then jar it up with your app (may not be ok with jxl developers)

3 - add a classpath entry to your manifest that points to jxl

4 - put jxl.jar in the extensions folder

- and those perl guys thought they invented "there's more than one way to do it."

I agree. Here's the link:
subject: using an executable jar file