executing my application outside the IDE does not work

M

marcussilfver

Hello
I have application code that runs fine when executed from inside
Eclipse IDE.
However when I make a jar "myApp.jar" out of it then the jar does not
run. If I however remove a certain object of a certain class C from my
code and generates a new "myApp.jar", then the new jar runs fine
aswell.

The class C which I remove from the code to make it work is located in
an external jar "x.jar".
Inside the IDE, I have included x.jar in the buildpath of the project.

My thought is that the class C is not found in runtime when executing
"myApp.jar".

Where should I put the x.jar for the JRE to find when executing
myApp.jar?
 
D

Donkey Hot

(e-mail address removed) wrote in @t54g2000hsg.googlegroups.com:
Hello
I have application code that runs fine when executed from inside
Eclipse IDE.
However when I make a jar "myApp.jar" out of it then the jar does not
run. If I however remove a certain object of a certain class C from my
code and generates a new "myApp.jar", then the new jar runs fine
aswell.

The class C which I remove from the code to make it work is located in
an external jar "x.jar".
Inside the IDE, I have included x.jar in the buildpath of the project.

My thought is that the class C is not found in runtime when executing
"myApp.jar".

Where should I put the x.jar for the JRE to find when executing
myApp.jar?

To the classpath

java -cp .;/path/to/the/x.jar;/possible/other/jars -jar myApp.jar
 
L

Lionel van den Berg

Hello
I have application code that runs fine when executed from inside Eclipse
IDE.
However when I make a jar "myApp.jar" out of it then the jar does not
run. If I however remove a certain object of a certain class C from my
code and generates a new "myApp.jar", then the new jar runs fine aswell.

The class C which I remove from the code to make it work is located in
an external jar "x.jar".
Inside the IDE, I have included x.jar in the buildpath of the project.

My thought is that the class C is not found in runtime when executing
"myApp.jar".

Where should I put the x.jar for the JRE to find when executing
myApp.jar?


Do a search for jar mainifest. That should tell you how to include x.jar
in the classpath and make your jar file double clickable.

I'm surprised Eclipse doesn't do this for you, or maybe it does but you
aren't packaging it correctly after.

For example, taking a similar approach as you have in Netbeans will
create myApp.jar (horrible name) and put it in dist/. It will also put
dependencies in the relative directory lib/, that is, dist/lib/. You can
then copy the contents of dist/ anywhere and it will run.

Check out what is in bin/ in Eclipse.

Lionel.
 
L

Lew

Donkey said:
To the classpath

java -cp .;/path/to/the/x.jar;/possible/other/jars -jar myApp.jar

There's no point in putting a -cp option there if you use -jar. The classpath
will be completely ignored due to the -jar option.

When you use this option [-jar], the JAR file is the source of all user classes,
and other user class path settings are ignored.

The answer is the Class-Path manifest attribute
<http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#Manifest Specification>

Place the library JAR in the same directory as the application JAR, or a
subdirectory, and reference it from the manifest of the application JAR.
 
M

marcussilfver

Donkey said:
To the classpath
java -cp .;/path/to/the/x.jar;/possible/other/jars -jar myApp.jar

There's no point in putting a -cp option there if you use -jar.  The classpath
will be completely ignored due to the -jar option.

When you use this option [-jar], the JAR file is the source of all user classes,
and other user class path settings are ignored.

The answer is the Class-Path manifest attribute
<http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#Manifest Spe...>

Place the library JAR in the same directory as the application JAR, or a
subdirectory, and reference it from the manifest of the application JAR.

thanks everyone answering. I got it working now!

regards
Marcus
 
R

Roedy Green

Where should I put the x.jar for the JRE to find when executing
myApp.jar?

Normally you build jars with ant scripts. See
http://mindprod.com/jgloss/ant.html

You might have a look at some of my jars
http://mindprod.com/products.html to see the structure. Look inside
your jars to make sure all the class files are there and they are
named correctly, and resources are present, and the manifest is
correctly built.

See http://mindprod.com/jgloss/jar.html
http://mindprod.com/jgloss/jarexe.html
 

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

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,813
Latest member
lawrwtwinkle111

Latest Threads

Top