forName() ... ClassNotFoundException

S

scottdanzig

Hi all,

I don't have the stack trace handy, but I've been fretting over an
exception I've been getting and hopefully I can provide enough
information:

There are two classes in the same jar file. One calls the other by
finding its name in a config file and using
java.lang.Class.forName(String) to load it. This works fine when run
in the Eclipse debugger as separate class files, but when run from
within a jar, via a Windows service, the forName call gives a
ClassNotFoundException. We checked the jar, and the target class does
exist, with the correct package name before it and no typos (it did
work in the debugger).

I saw forName is making a call to a method called doPrivileged().. am
I having some sort of permission issue even though it's two classes in
the same jar? What other things might be wrong?

Thanks in advance for your attention and hopefully what help you can
offer :)

- Scott
 
B

Brandon McCombs

scottdanzig said:
Hi all,

I don't have the stack trace handy, but I've been fretting over an
exception I've been getting and hopefully I can provide enough
information:

There are two classes in the same jar file. One calls the other by
finding its name in a config file and using
java.lang.Class.forName(String) to load it. This works fine when run
in the Eclipse debugger as separate class files, but when run from
within a jar, via a Windows service, the forName call gives a
ClassNotFoundException. We checked the jar, and the target class does
exist, with the correct package name before it and no typos (it did
work in the debugger).

I saw forName is making a call to a method called doPrivileged().. am
I having some sort of permission issue even though it's two classes in
the same jar? What other things might be wrong?

Thanks in advance for your attention and hopefully what help you can
offer :)

- Scott

What is the class path as defined in the jar file's MANIFEST.MF file? Is
the class that is being loaded within that class path? What is the value
of the String argument to forName()? Is it the fully qualified name of
the class file you want loaded?
 
C

Chris Uppal

scottdanzig said:
This works fine when run
in the Eclipse debugger as separate class files, but when run from
within a jar, via a Windows service, the forName call gives a
ClassNotFoundException.

A mistake to [try to] generalise directly from the very artificial environment
provided by Eclipse to the almost equally unnatural environment in which a
Windows service runs. Try it running as a standalone process using only the
command-line tools and the -jar argument.

-- chris
 
S

scottdanzig

Hi all,

I don't have the stack trace handy, but I've been fretting over an
exception I've been getting and hopefully I can provide enough
information:

There are two classes in the same jar file. One calls the other by
finding its name in a config file and using
java.lang.Class.forName(String) to load it. This works fine when run
in the Eclipse debugger as separate class files, but when run from
within a jar, via a Windows service, the forName call gives a
ClassNotFoundException. We checked the jar, and the target class does
exist, with the correct package name before it and no typos (it did
work in the debugger).

I saw forName is making a call to a method called doPrivileged().. am
I having some sort of permission issue even though it's two classes in
the same jar? What other things might be wrong?

Thanks in advance for your attention and hopefully what help you can
offer :)

- Scott

Fixed. The issue was, the application, when run via a Windows service
was launched through a wrapper that didn't include a jar which the
class in question needed to instantiate. The actual stack trace was
being masked from me, with the way the application's logging was set
up. Sorry.

- Scott
 
Joined
Oct 1, 2009
Messages
1
Reaction score
0
I really interested in the solution because I have the same problem (Eclipse, plugin for database connection - working in standalone and not working with ClassNotFound exception when used from application). Please provide some ideas (altough it was many years ago).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,062
Latest member
OrderKetozenseACV

Latest Threads

Top