Creating executable JAR

Hello!
I have a very strange problem. I have been googling extensively but I just can't make consistently executable JAR. Usually things either always work or they don't, but in my case sometimes JAR gets created, or sometimes I get:
Exception in thread "main" java.lang.NoClassDefFoundError: hello
With exactly the same commands. What is the problem? I have created the simplest possible class:
public class hello
        public static void main(String [] s)
}I have created a manifest file mf.data:
Manifest-Version: 1.0
Main-Class: hello
Created-By: 1.4 (Sun Microsystems Inc.)I ran this command:
jar cfvm TrayIcon.jar mf.data hello.class Then this one:
java -jar TrayIcon.jarAnd I get:
Exception in thread "main" java.lang.NoClassDefFoundError: helloCould somebody please tell me what is the problem? Why is it working one time when I create JAR and not the other?
Thank you!
Victor.

Are you sure you did not overlook something?
Examine the working jar file and the not working one with, say, checking the contents.
unzip -l myfile.jar

Similar Messages

  • How to create executable jar files??

    how to create executable jar files??
    thx :)

    Using JAR Files to Deploy
    http://developer.java.sun.com/developer/onlineTraining/Programming/BasicJava2/jar.html#jar

  • Unable to create Executable JAR file

    Hi,
    I tried to create Executable JAR file for
    //JarTest.java
    class JarTest
         public static void main( String args[] )
              System.out.println("i am EXECUTABLE JAR ");
    mf is like
    Manifest-Version: 1.0
    Main-Class: JarTest
    used jar cmf JarTest.mf exe.jar *.classIt created a jar file but i can't Execute the file
    Help me
    Thanks
    AE

    java is choosy about the actual manifest file format (line ending, trailing empty line, whatever).
    This works for me with your example:
    posman@proli:~/ivan/aa> cat mf
    Manifest-Version: 1.0
    Main-Class: JarTest
    posman@proli:~/ivan/aa> od -cx mf
    0000000   M   a   n   i   f   e   s   t   -   V   e   r   s   i   o   n
            614d 696e 6566 7473 562d 7265 6973 6e6f
    0000020   :       1   .   0  \n   M   a   i   n   -   C   l   a   s   s
            203a 2e31 0a30 614d 6e69 432d 616c 7373
    0000040   :       J   a   r   T   e   s   t  \n  \n  \0
            203a 614a 5472 7365 0a74 000a

  • How to create executable jar in eclipse using linking in compiler

    Hi,
    I have a project in Eclipse. I wrote already an ant build file for creating an executable jar which includes all project files.
    Now I want to create a second executable jar which is a subset of the project (a limited number of classes are necessary).
    I have a main class and I was looking for a way to generate a jar file which includes the main class and all the depending classes.
    Is there a way to do it? With ant or with another tool?
    Is it possible to compile a project given a main class, and include all depending classes?
    Regards,
    Biebel
    Edited by: biebel1975 on Jan 7, 2009 10:21 AM

    biebel1975 wrote:
    Some more information:
    When I compile all the classes, the jar file is +/- 3.5Mb inclusive the server side logic.
    The subproject I want to build, should be less then 1Mb (Only some screens and beans, no business logic ((only +/- 10% of the projects code) )).
    My question is: How can I create a executable jar with only the necessary class files which depends on the main class. (Linked with the imports).
    Is there a tool to do that? Can it be done with an ANT script? If so, how does the script looks?
    What are you talking about?
    You already said that you are using Ant.
    Ant uses script files.
    Since you have one with X items in it and you want something new with X-Y items in it the obviously it would make sense to construct an ant script that does less than the other ant script.
    The following provides a huge amount of information about Ant.
    [http://ant.apache.org/resources.html]
    Other than that no one can tell you want your Ant script will look like except that it will do less than the one that you already have.

  • Creating executable JAR from JDeveloper 11

    Hello
    Iv'e been using JDeveloper for developing my Java desktop app. It includes my classes and some additional external jar's. From within JDeveloper everything works fine, but now I want to deliver my app as a single JAR file (including the external jars).
    I searched and searched and couldn't find such an option. I tried creating deployment profiles and deploy my app but the resulting JAR was very small, did not include the utility jars and did not run in double clicking.
    I tried both Eclipse and NetBeans and they produced nice running executable jars of the sane application with only a few clicks. However, Im used to JDeveloper and would rather continue working with it. Is there a way to create a complete executable jar from JDeveloper (or maybe a plugin) ?
    If not than how do I do it manually so I can write my own generator ? (I know the basics, but how do I include the library jars ?)
    Thanks
    Guy Shilo

    Hi
    If you to want include external jars, don't keep those inside src folder but outside to that folder. Then only framework consider this as resources and will be packed while deploying. You can ensure it by creating a simple file using wizard. It will be displayed in application navigator under the folder 'Resources'
    See the related thread from How to read .txt file from adfLib jar at model layer using relative path . See what
    Frank Nimphius has replied. You may get some idea
    Edited by: Raguraman on Dec 13, 2011 10:12 PM

  • Create executable jar and run it

    hi ,
    I want to create an executable jar file for my Swing application in windows environment and I want to run that jar file by double clicking on it. What should I do?

    I can't beleive I'm saying this given that I didn't like it only 3 months ago but if you change your development environment to Eclipse rather than JCreator/JBuilder or whatever, it saves all that creating manifest files by having one menu item, "Export". You should take a look at minifest files though and at least understand them, they aren't complex at all.

  • Create Executable Jar file

    How do I creat a Executable Jar file?

    on my WIndows XP jars are automatically "executable".
    if its not on yours (you can check) check out this thread:
    http://forum.java.sun.com/thread.jspa?threadID=653572&tstart=0

  • Creating executable jar from a project

    Dear all,
    I created a GUI project with ms-access as backend. now i want to create an executable jar out of these project(all classes). so any one please guide to achieve this. I am using netbeans 5.5.
    thank you,
    ishan

    From Projects window in netbeans, right click your project, and from context menu select Properties. From Project Properties Dialog
    highlight Run which in the left pane tree.
    on the right pane select the main class of your project by writting its complete package path in the field beside "Main Class:" label, or simply click "Browse..." to choose it.
    And have a nice time.
    Thanks.
    Ahmad Elsafty

  • Creating an Executable jar file

    Hello ! I have a application that has been fully developed and all i want to do is to create an executable file using my own icon so that whenever it is double clicked it opens up the appliation.
    Please provide an example fro easy refrence.
    Thanks

    i have the procedure for creating executable jar file in a separate file.
    if u r interested then mail me at:
    [email protected]
    regards
    Md. Afroze

  • Creating an executable jar-file including a custom package

    I am trying to learn how to create executable jar-files. I have managed this with a single class. However having a class which is an extention of another class which in turn belongs to custom package, I can't make it work.Running the program normally is not a problem. I don't think the problem is the actual code, but I will include it here anyway. I create the jar-file using:
    jar -cmf Direkt2b.txt Direkt2b.jar *.class
    where Direkt2b.txt is just:
    Main-Class: Diriekt2b
    Only the main class-file is included this way. Copying the other file to the same directory before creation doesn't help either. There is no error messages, the jar-file just refuses to run no matter what.
    The main-class:
    import java.awt.*;
    import extra.*;
    class Direkt2b extends ExtendedFrame {
         Font f;
         Direkt2b() {
              f = new Font("SansSerif", Font.BOLD, 24);
              setBackground(Color.yellow);
              setSize(400,150);
         public void paint(Graphics g) {
              g.setFont(f);
              g.setColor(Color.blue);
              g.drawString("V?lkommen till Java Direkt", 45, 100);
         public static void main (String[] arg) {
              Direkt2b d2 = new Direkt2b();
              d2.setVisible(true);
    The help-class:
    package extra;
    import java.awt.*;
    import java.awt.event.*;
    public class ExtendedFrame extends Frame {
         private static boolean first = true;
         private boolean isFirst = first;
         public ExtendedFrame() {
              addWindowListener(theListener);
              first=false;
         WindowAdapter theListener = new WindowAdapter () {
              public void windowClosing(WindowEvent e) {
              dispose();
              if (isFirst)
                   System.exit(0);
    }

    My problem wasn't really getting more than one class in a jar-file,
    but rather that my jar-file with multiple classes wouldn't execute.
    Reading the original post I realized that maybe I was unclear about that.
    However I have solved the problem now so for anybody reading this
    thread in the future I will tell you how.
    The general setting is this: You have a bunch of self-made help-classes
    organized in some classdirectory somewhere in the filesystem. You use these
    in your programming from time to time. You have set a classpath-varible
    in your OS such that Java could find your help-classes.
    Now you want to create executable jar-files so that you could publish your work.
    My problem was that while I added all needed classes in a jar-file, the main-class
    couldn't find the others because they were referenced incorrectly. The solution I
    came up with may not be elegant, but it works. I copied the main-class and all directories
    (only one in my case) just as they appear in the classpath-directory, to the same temporary
    directory. Then I created the jar-file from there, using: jar -cmfv Direkt2b.txt Direkt2b.jar Direkt2b.class extra/*.class
    I suspected that incorrect referencing was the problem and I tried several variations on the theme above
    before giving up and writing the first post. Part the problem was that I didn't get any error messages,
    just an annoying error-sound double-clicking the jar-file. I learned later that you could run jar-files from
    the command -prompt using: java -jar myjarfile.jar. This way you get a more useful response.
    I guess there is a way to include the classpath instead somehow, but I will use my method for now.
    I hope this was helpful to somebody.

  • Classpath is not working for executable jar file

    I have created executable jar file using following command where manifest file contains Main-Class and Class-Path entries.
    jar cvfm app.jar META-INF/* lib/* *.class
    So here app.jar contains my external jar's in lib directory
    but when I move app.jar to another directory, it's doesn't get my external files.
    I'm not getting this problem as these jar's are in app.jar
    class-path entry in manifest file:
    Class-Path: lib/abc.jar lib/xyz.jar
    Pls help me where it is getting fail?
    Thanks in advance,
    Vikas

    Java doesn't handle jars within jars. Your library jars need to be outside of the executable jar as in
    dist - main.jar
          - lib  -  lib1.jar
                 -  lib2.jar

  • Making executable jar

    Hi
    I would like to make executable jar.
    I have class files and also some supporting jar file..how do i include the supporting jar files into the newly creating executable jar file.
    Say to lookup jndi i need some supporing jar files.... so to make my client as executable jar.. how to add the jars into it.
    Please let me know.
    Thanx
    Regards
    Mohan

    Hi,
    Executable jar file does not hounor systems class path. If you want to include some stadured lib, you have to specify that in manifest.mf file.
    You can do that by specifying class path manifest.mf.

  • Can we make executable jar file which dont have main method?

    I have a problem.
    With whatever R&D i have done so far my understanding is that in order to create executable jar files i need a main method.
    my problem is i have certain MIS reports which are developed in java and deployed through JSP pages...so my java program has no Main Method and only objects of the classes are being called in the JSP pages.
    for e.g: i have a java class file BulkSms.class and i make an object of it in the JSP page through which my purpose is achieved by calling various method in the BulkSms through it s objects and there is no main method.
    Can i make an executable jar file without a main method and if so please give me a detailed procedure of how to go about it.
    i want to make it executable so tht on the click of it the MIS report is displayed from the JSP page.

    I am completely ignorant of JSPs, but you can not execute a jar or any java application unless you have a main method. It sounds like you need a way to launch the JSP - can't you do this with a browser?

  • Executing JAR?

    I am using JDeveloper to write my programs and deploying them
    I tried a test program .. just a simple hello world
    and just a simple frame..
    the one with the frame works fine if i right click and open with javaw on it
    but does not run in the command line if i gry to do it with the whole jar thing
    well my question is i have written a big program which has several classes
    the main class here extends a JFrame
    I deploy this project using JDeveloper and it creates the jar file with the proper manifest and everything just like my test program
    but when i go and right click on it and open with javaw it does not do anything...
    when i go to see the process in the process window i see that javaw.exe is running..
    does anyone know what is going on here?
    and how can i make this thing work?
    thanx

    the following tool may help you
    JavaJar(written by java) can compress and decompress jar,war, ear and.zip...
    it can deal with manifest file and create executable .jar file. specially.
    may download from http://www.qwerks.com/download/4114/JavaJar.zip
    the tool is very verygood tool.
    but the homepage(www.pivotonic.com) of JavaJar cannot be accessed.
    it is funny.
    good lucky.

  • Large project in JBuilder 2007... How do I create an executable JAR?

    First, I've googled quite a bit and keep getting thiings about "Jbuilder Application Wizard", etc... Well, I don't see any "wizard" menu in the version of JBuilder I'm using!
    I'm using JBuilder 2007 Enterprise edition, however it's a trial version apparently. I'm not sure if that matters, and perhaps the functionality was taken out with the trial version..
    Anyway, the issue is that I have a multi class (with one main function) program that I want to run (it's a command line based application) as an executable JAR file. The program uses LOTS of include statements including quite a few custom libraries ("external JARs") that I had to import.
    Basically I want the application to do exactly what it does now when I hit the ol' "RUN" button. Except I want to be able to run it from a batch file with "java -jar (or whatever) myProgram".
    Anybody have any experience with this type of thing?

    OK, here's what I've got:
    I've got a jar file that contains:
    1. a folder "importQD"
    2. a folder called META-INF
    3. a .classpath file
    4. a .project file
    Inside the importQD folder are my three .class files that are the classes I created myself.
    Inside the META-INF folder is the MANIFEST.MF file which looks like:
    Manifest-Version: 1.0
    Main-Class: importQD.ImportQDInside the .classpath file we have:
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
         <classpathentry kind="src" path=""/>
         <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
         <classpathentry kind="lib" path="C:\Programs\CMQualityDocumentImport\CMUploadInterface83.jar"/>
         <classpathentry kind="lib" path="C:\Programs\CMQualityDocumentImport\DBCon.jar"/>
         <classpathentry kind="lib" path="C:\Programs\CMQualityDocumentImport\SENAeMail.jar"/>
         <classpathentry kind="lib" path="C:\Programs\CMQualityDocumentImport\SENAFileHandler.jar"/>
         <classpathentry kind="output" path=""/>
    </classpath>NOTE: All of the paths point at the .jar files as they are located on the machine the final version will be running on.
    Inside the .project file we have:
    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
         <name>importOldQD</name>
         <comment></comment>
         <projects>
         </projects>
         <buildSpec>
              <buildCommand>
                   <name>org.eclipse.jdt.core.javabuilder</name>
                   <arguments>
                   </arguments>
              </buildCommand>
         </buildSpec>
         <natures>
              <nature>org.eclipse.jdt.core.javanature</nature>
         </natures>
    </projectDescription>Now, it would make sense to me that this should be all good to go, and that I should be able to run this via a command line now. When I try
    java -jar importQD.jar I get a ton of various errors such as "Exception in thread "main" java.lang.UnsupportedClassVersionError: importQD/importQD (unsupported major.minor version 49.0) + a nice stack trace with a bunch of java.lang and java.net references.
    What am I doing wrong?

Maybe you are looking for