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
It's not a secret anymore!