Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Beginner Problem - Manifest file

Reply
Thread Tools

Beginner Problem - Manifest file

 
 
William Colls
Guest
Posts: n/a
 
      05-30-2011

Environment:
Ubuntu 10.04.2 64 bit
Java 1.6.0_24
NetbeansIDE 6.8

I have built a small application containing two classes. When I build
the application in the IDE, it builds without error, and creates a .jar
file.

When I try to run the .jar using the command

java -jar myapp.jar

I get the error

Failed to load Main-Class manifest attribute from myapp.jar

One of the class files does contain the main declaration

public static void main(String args)

From my reading, I understand that there should be a file with the name
manifest.txt in the build directory that gets incorporated into the .jar
file, but I don't know what the contents of the file should be. My
original understanding of how the IDE worked led me to believe that it
would create the manifest file automatically, but this doesn't seem to
be happening.

Any guidance would be greatly appreciated.

Thanks for your time.

 
Reply With Quote
 
 
 
 
Knute Johnson
Guest
Posts: n/a
 
      05-30-2011
On 05/30/2011 01:53 PM, William Colls wrote:
>
> Environment:
> Ubuntu 10.04.2 64 bit
> Java 1.6.0_24
> NetbeansIDE 6.8
>
> I have built a small application containing two classes. When I build
> the application in the IDE, it builds without error, and creates a .jar
> file.
>
> When I try to run the .jar using the command
>
> java -jar myapp.jar
>
> I get the error
>
> Failed to load Main-Class manifest attribute from myapp.jar
>
> One of the class files does contain the main declaration
>
> public static void main(String args)
>
> From my reading, I understand that there should be a file with the name
> manifest.txt in the build directory that gets incorporated into the .jar
> file, but I don't know what the contents of the file should be. My
> original understanding of how the IDE worked led me to believe that it
> would create the manifest file automatically, but this doesn't seem to
> be happening.
>
> Any guidance would be greatly appreciated.
>
> Thanks for your time.
>


It can be any name, doesn't matter. The line you want is;

Main-Class: mypackage.MyClass

From the docs on jar;

# attribute defined for stand-alone applications
# This attribute is used by stand-alone applications that are bundled
into executable jar files which can be invoked by the java runtime
directly by running "java -jar x.jar".

* Main-Class :
*

The value of this attribute defines the relative path of the main
application class which the launcher will load at startup time. The
value must not have the .class extension appended to the class name.

--

Knute Johnson
s/knute/nospam/
 
Reply With Quote
 
 
 
 
markspace
Guest
Posts: n/a
 
      05-30-2011
On 5/30/2011 1:53 PM, William Colls wrote:

> One of the class files does contain the main declaration
>
> public static void main(String args)



Also, this should be an array of strings:

public static void main( String[] args )

or

public static void main( String... args )
 
Reply With Quote
 
John B. Matthews
Guest
Posts: n/a
 
      05-30-2011
In article <is103c$dnd$(E-Mail Removed)>,
William Colls <(E-Mail Removed)> wrote:

> Environment:
> Ubuntu 10.04.2 64 bit
> Java 1.6.0_24
> NetbeansIDE 6.8
>
> I have built a small application containing two classes. When I build
> the application in the IDE, it builds without error, and creates a
> .jar file.
>
> When I try to run the .jar using the command
>
> java -jar myapp.jar
>
> I get the error
>
> Failed to load Main-Class manifest attribute from myapp.jar
>
> One of the class files does contain the main declaration
>
> public static void main(String args)
>
> From my reading, I understand that there should be a file with the
> name manifest.txt in the build directory that gets incorporated into
> the .jar file, but I don't know what the contents of the file should
> be. My original understanding of how the IDE worked led me to believe
> that it would create the manifest file automatically, but this
> doesn't seem to be happening.


Here's a simple utility that displays a manifest's contents in place:

<http://sites.google.com/site/drjohnbmatthews/manifesto>

The included build.xml file shows how to create the manifest using ant.
From the command line, use `ant -p` to see the available build targets;
use `ant test` to see a test run.

--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>
 
Reply With Quote
 
William Colls
Guest
Posts: n/a
 
      05-31-2011
On 11-05-30 06:30 PM, markspace wrote:
> On 5/30/2011 1:53 PM, William Colls wrote:
>
>> One of the class files does contain the main declaration
>>
>> public static void main(String args)

>
>
> Also, this should be an array of strings:
>
> public static void main( String[] args )
>
> or
>
> public static void main( String... args )


Typo. the actual file does define an array.
 
Reply With Quote
 
Nigel Wade
Guest
Posts: n/a
 
      05-31-2011
On 30/05/11 21:53, William Colls wrote:
>
> Environment:
> Ubuntu 10.04.2 64 bit
> Java 1.6.0_24
> NetbeansIDE 6.8
>
> I have built a small application containing two classes. When I build
> the application in the IDE, it builds without error, and creates a .jar
> file.
>
> When I try to run the .jar using the command
>
> java -jar myapp.jar
>
> I get the error
>
> Failed to load Main-Class manifest attribute from myapp.jar
>
> One of the class files does contain the main declaration
>
> public static void main(String args)
>
> From my reading, I understand that there should be a file with the name
> manifest.txt in the build directory that gets incorporated into the .jar
> file, but I don't know what the contents of the file should be. My
> original understanding of how the IDE worked led me to believe that it
> would create the manifest file automatically, but this doesn't seem to
> be happening.
>
> Any guidance would be greatly appreciated.
>
> Thanks for your time.
>


You shouldn't need to worry about manifest files in NetBeans - provided
you create the correct type of project. If you create a project of type
"Java Application", and in the next dialog box check "Create Main
class", NetBeans will do everything for you. It will create the main
class and the manifest, and since it knows which is the main class it
will add that information to the manifest.

What type of project did you create? It's not always possible to modify
the project type after the fact, the attributes of some project types
are not suitable. You may be able to do it by creating your main class
(a class with a main method), then editing the project properties. In
the Run category set the Main Class attribute to your main class. If
that doesn't work, and you want NetBeans to manage the project for you
by creating properly runnable jar files, the simplest way may well be to
create a new project of the correct type. Then move your existing Java
files into that project, using NetBeans to move/refactor the classes.

--
Nigel Wade
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Reading manifest file from the jar file Manish Hatwalne Java 11 05-14-2009 08:58 AM
Will a user ever download a .manifest file separately? Ken Spreitzer ASP .Net 2 02-12-2006 09:49 PM
Problems reading custom attributes from manifest file Manish Hatwalne Java 9 05-21-2004 10:48 PM
Class-Path entry for a jar manifest file hiwa Java 3 01-15-2004 11:05 PM
Question on JAR files and the Manifest file Harpstein Java 1 10-28-2003 09:28 AM



Advertisments