Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.help > #718

Re: jar execution problem

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.help
Subject Re: jar execution problem
Date 2011-05-25 12:29 -0400
Organization albasani.net
Message-ID <irjao3$9lv$1@news.albasani.net> (permalink)
References <irj70i$2v6n$1@adenine.netfront.net> <ky9Dp.19523$ZM2.2437@newsfe19.iad>

Show all headers | View raw


Knute Johnson wrote:
> Sascha wrote:
>> i [sic] got a problem with execution of jar [sic] files.
>>
>>
>> I used the following command to create a jar file.
>> jar -vcfm dice.jar MANIFEST.TXT dice
>>
>> In the folder dice the Dice.class is located.

There's your problem.

>> The file MANIFEST.TXT contains only the following line
>> Main-Class: Dice

And there, just as Knute said.

>> When I try to execute the jar file with
>> java -jar dice.jar

And there, also as Knute said.

>> I got the error message
>> Exception in thread "main" java.lang.NoClassDefFoundError: Dice
>>
>> I hope somebody else got the same problem and can help me out.

> Does your Dice source file have a package statement? If you are running the
> jar program from the directory above dice it will store the class files as
> dice/Dice.class and that must match with the package statement in the source
> file.
>
> So as not to ask you a lot of questions, do this:
>
> 1) put your source files in the dice directory.
> 2) put a 'package dice;' statement in all source files
> 3) compile from the directory above dice with 'javac dice/Dice.java'
> 4) put the manifest file in dice and
> in it put the line 'Main-Class: dice.Dice'
> 5) run the jar program from the directory above dice with
> 'jar -cvfm Dice.jar dice/manifest dice/*.class dice/anyotherfiles'
> I usually keep my manifest file in the same directory but it isn't necessary.
>
> You can use the 'e' option and skip using a manifest file it the only thing in
> it is the Main-Class statement.

You cannot do serious Java programming without packages, nor should you try. 
Study
<http://download.oracle.com/javase/tutorial/java/package/index.html>

For all known directory-based structures for serving up classfiles, the 
directory structure from some root in the classpath must match the package 
structure.

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

Back to comp.lang.java.help | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

jar execution problem Sascha <sascha_friederichs@web.de> - 2011-05-25 23:25 +0800
  Re: jar execution problem Knute Johnson <nospam@knutejohnson.com> - 2011-05-25 08:48 -0700
    Re: jar execution problem Lew <noone@lewscanon.com> - 2011-05-25 12:29 -0400
  Re: jar execution problem Roedy Green <see_website@mindprod.com.invalid> - 2011-05-25 09:04 -0700
    Re: jar execution problem Sascha <sascha_friederichs@web.de> - 2011-05-26 06:46 +0800

csiph-web