How do i create an executable jar?

I have built a GUI, and want to make it executable. I have tried compiling it to a jar, but when i double click this nothing happens. I even added Main-Class to the manifest file but still no luck.
any help would be appreciated, or a link to a good tutorial. I have already tried the sun tutorial, but it still doesnt work.
Thanks
Ben

I got it working :D
jar -cfm TestJar.jar manifest.txt GUI.class GUI$1.class ./org/gui/*.class ./info/clearthought/layout/*.class
java -jar TestJar.jar
This created the .jar. I will experiment with Class-Name: later, atleast i have something to show now.
Thanks to everyone for their help on this matter
Ben
edit:
just changed the manifest file to include,
Class-Path: JCalendar4.jar TableLayout.jar
Worked a dream..... thanks everyone i think i have a pretty good grasp on how to create jars now. Just need to learn now how to create jnlp files :D
Message was edited by:
CyborgAvenger

Similar Messages

  • 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?

  • How do I create an executable JAR File ?

    Hi,
    Let's say I have several Class Files that perform a special task.
    How do I bundle them in a JAR file and make it executable, so that the user simply types "prog.jar" and is happy.
    I wonder how that works, as I have to tell the starting point for execution.
    Does anybody now ?
    cu
    Oliver

    Three importants things to do :
    - don't forget to indicate in your manifest.mf the main class and the pacckage
    ex:
    Manifest-Version: 1.0
    Main-Class: mypackage.MyMainClass
    Created-By: 1.3.0 (Sun Microsystems Inc.)
    - don't forget to associate the .jar file with the application java.exe -jar -classpath %CLASSPATH%
    - don't forget to set the environment CLASSPATH correctly
    Hope this help
    Jean

  • Create the executable jar's file

    Hi guys,
    I am working on java desktop's application where a user will be able to run the application by double click the executable jar file. I followed the description of "Creating and Deploying a Simple Archive to Your File System of the help. After creating the jar file and when I double click on jar file to run the application I got this error message "Could not find the main class. Program will exit". I was not also able to run the application on the dos command.
    Please help. I don't have any problem when I run from Jdeveloper 9.0.4. I have window XP professional.
    Your input will be very welcomed.

    OK open up your deployed Jar file in something like Winzip and have a look at the Manifest.MF in meta-inf\
    I've just created an executable JAR with a main class of mypackage1.Class1 and it all ran ok. Here's the manifest:
    Manifest-Version: 1.0
    Main-Class: mypackage1.Class1
    Created-By: Oracle9i JDeveloper 9.0.2So make sure your's is similar and your Main-class looks the same - e.g. does not say something like:
    Main-Class: mypackage1.Class1.class

  • Unable to create an executable jar file

    Hi,
    I am unable to create an executable jar file,
    I am using the command as follows:
    C\> jar cvfm MyJarName.jar manifest.txt Demo.class
    where as Demo.class has appropriate main method; manifest.txt contains [ Main-Class: Demo ] and a new line
    Please help.
    thanks & regards
    M K Rayapudi
    Edited by: R6i on Apr 30, 2009 5:15 AM

    Your jar is perfectly generated, but your machine has a problem with .jar file associations.
    You have two options:
    1. Play with the registry. Dangereous if you are not used to.
    2. Reinstall the jre.
    Just to verify my theory, open a command prompt and the command:
    reg query HKCR\jarfile\shell\open\command
    What does it say? I have executed your command , here is the output
    HKEY_CLASSES_ROOT\jarfile\shell\open\command
        (Default)    REG_SZ    "C:\Program Files\Java\jre6\bin\javaw.exe" -jar "%1" %*I am not getting anything from this command, can you please explain clearly.
    thanks & regards
    M K Rayapudi
    Edited by: R6i on May 3, 2009 10:18 PM

  • How do I create an executable file?

    How exactly do I create an executable file from my .java file?

    I've tried to run it from the DOS prompt two ways.
    If I type "java -jar Plist" (Plist is the .jar file
    name, the .java file name, and the class name), It
    says...
    Exception in thread "main" java.util.zip.ZipException:
    The system cannot find the file specifiedThat seems pretty clear - there is no file called "Plist" and that's it. "The system cannot find the file specified."
    If I type "java -jar Plist.jar", It says...
    Exception in thread "main"
    java.lang.NoClassDefFoundError: Plist
    Two questions...
    1. What am I doing wrong??Two possibilities, I'd put my money on the first one:
    1. That jar file of yours really doesn't contain a class called Plist. Check the contents with "jar -tf Plist.jar". The file Plist.class (along with other stuff you put in the jar) should be listed.
    2. If it is listed, your classpath may be set wrong - can you run the app with "java -classpath Plist.jar Plist"?
    2. Once I get this .jar deal to work, will I be able
    to run it on other computers? It seems to be tied in
    with some of the Java utilities and files on my
    computer. Is it independent like a .exe file or not?No, it's not independent like a .exe file. It's a lot more independent than any .exe file. Ever tried running them on a Mac? Linux? Solaris? Anything else than windoze? On a windoze system that's older than recommended, like on win95 instead of 2k?
    The independence of java class files packed in jars is on the level of xml, pdf and postscript files - you can use them everywhere. To be more exact, on every system that has a "viewer" for those files; in java's case the "viewer" is the runtime environment. Once it's installed the files can be run like other programs on the system.

  • 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.

  • How do I create an executable with arguments that executes once and terminates

    I'm just starting with LabView, so I'm sure this issue has been address somewhere already.  I just can't locate the answer.
    I am running version 6i (I may be able to get 7 or 8).
    I need to create a command line executable program with parameter input that executes only once and then terminates.
    This is for instrument control (sets the signal generator frequency, level, RF on/off and arms the Trigger).  I have written a simple VI that works from within LabView (programs the instrument when the Run button is pressed).  I have further managed to perform an Application Build to create an executable however, the application continues to run, waiting for the Run button to be pressed.  Also, I need to know how to pass parameters to this executable (freq, level, RF on/off, trigger arm).
    This executable will (eventually) be called repeatedly by a Matlab file.
    Thanks,
    D

    LabVIEW 7 added a property to get a command line argument. For older versions see http://sine.ni.com/apps/we/niepd_web_display.display_epd4?p_guid=B45EACE3DA5B56A4E034080020E74861.
    I'm not sure I understand you problem with the Run button. If you set the execution mode to Run When Opened from VI Properties, it should execute once whenever it's called. I think that when building an executable, it changes the property to this if it's not already set. If the application does not have this set, it will not be running at all. I'm assuming that you are talking about the Run button on the toolbar and not a run Boolean that you've created on the front panel.
    Since you have the app builder, your other option is to create a DLL. If you can call a DLL in Matlab, then that would probably be simpler.
    Message Edited by Dennis Knutson on 11-28-2005 02:46 PM

  • How do I create an executable for a computer that does not have IVI drivers

    I'm creating an executable driver (based on the NI drivers) for a TDS 3054 intended for a computer that does not have the IVI engine. I would prefer to install as little software on this computer as possible. Is it possible for me to build the driver with the appropriate support DLL's without installing IVI on the user's computer? How do I do this?
    Thank you,
    Zach Oberman

    Zach,
    Since the tkds30xx driver you are using is IVI based, you will not be able to use it without the IVI Engine.
    If you must build an executable that does not require the IVI Engine, then you will need to use a traditional LabVIEW driver or convert a VXIpnp driver into LabVIEW. Neither of those drivers would require the IVI Engine.
    At this time the only TDS 3054 driver on NI's IDNet website is the IVI-based tkds30xx driver.
    You may be able to obtain a traditional LabVIEW driver from
    Tektronix
    Developer Exchange
    Requesting a
    driver
    Other Resources
    Thanks,
    --Bankim

  • Creating an executable JAR

    edited mainfest file by create a text file MainClass.MF and added this in
    Manifest-Version: 1.0
    Main-Class: test_gui
    left two carriage returns and saved file as MainClass.MF included three other classes I required into MailMerge.jar in command line as follows
    jar cmf MainClass.MF MailMerge.jar classone.class classtwo.class classthree.class test_gui.class
    tried executing application by double clicking but failed, tried executing application through the comand line as follows
    java -jar MailMerge.jar, and got following error. There is a main method in test_gui, tried running application normally by running java test_gui and it worked successfully, what have I done wrong with my jar!!!
    Exception in thread "main" java.lang.NoClassDefFoundError: javax/mail/MessagingException
    at test_gui.<init>(test_gui.java:25)
    at test_gui.main(test_gui.java:138)

    The value given to Class-Path should be a plain list of file names with whitespace as separator. Also, the list should be portable so it should only contain relative paths -- unix computers don't have a C: drive, and what if someone puts the library files somewhere else than your hardcoded place.
    The Class-Path line should look like "Class-Path: activation.jar mail.jar" and those .jars should be in the same directory with your MailMerge.jar.
    Exception in thread "main" java.lang.NoClassDefFoundError: test_guiThe class test_gui is not in the .jar file. You probably used "jar -cmf" and forgot that the "c" creates a new .jar file, overwriting the existing one. You should have used "u" to update.

  • 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

  • How to pass paramets to executable jar file

    hello,
    i have made a executable jar file. i want to pass a text file to the MAIN class of that executable jar at runtime, what can i do ?
    kindly please help.
    regards,
    mohamed asif

    I was not thinking of changing the manifest, but of how you invoke the main class.
    Consider the following three files:
    File: test.txtThis is
    a text fileFile: manifestmain-class: JarTestFile: JarTest.javaimport java.io.*;
    public class JarTest {
        public static void main(String args[]) throws IOException {
            BufferedReader in;
            if(args.length == 0) {
                in = new BufferedReader(new InputStreamReader(System.in));
            } else {
                in = new BufferedReader(new FileReader(args[0]));
            System.out.printf("The first line is: %s%n", in.readLine());
    }Compile and run like the following:pbrockway@linuxdeskd6off:~/Desktop$ javac -cp . JarTest.java
    pbrockway@linuxdeskd6off:~/Desktop$ jar cmf manifest test.jar JarTest.class
    pbrockway@linuxdeskd6off:~/Desktop$ java -jar test.jar test.txt
    The first line is: This is
    pbrockway@linuxdeskd6off:~/Desktop$ java -jar test.jar <test.txt
    The first line is: This is
    pbrockway@linuxdeskd6off:~/Desktop$ cat test.txt | java -jar test.jar
    The first line is: This is
    pbrockway@linuxdeskd6off:~/Desktop$In each case the contents of the text file are available to
    the main() method.

  • How do I create an "executable" for users to run calcs?

    I need to create an executable that users can launch.  I would like it to 1) log in as a "test" user that I have set up in Native Directory, 2) select app/database then 3) launch a series of calcs.  I had something set up previously in an earlier version of Essbase but I can't get it to run on Essbase 11.
    Here's what I had previously:
    Login "servername" "TestUser" "Password" ;
    Select "App" DataBase;
    RunCalc 2 "Calc 1" ;
    RunCalc 2 "Calc 2" ;
    RunCalc 2 "Calc 3" ;
    Maybe the user's machines don't have all the files needed to run this?  It's just flashes and doesn't give me any messages.  I'm stumped.

    If you are using 11.1.2.1 you would need to set the execution based off the startESSCMD.bat/sh.  Here is an example.  Check that the startESSCMD script works first so you can get the command line up.
    Does startESSCMD work on the machine?
    @ECHO OFF
    REM --------------------------------------------------------------
    REM --                                 --
    REM --                        --
    REM --                                 --
    REM --                                 --   
    REM --------------------------------------------------------------
    @REM This file is created to use essmsh in batch
    @REM Set ESSBASEPATH to the setEssbaseEnv in your system
    call "C:\Oracle\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\bin\setEssbaseEnv.bat"
    set PATH=%ESSBASEPATH%;%PATH%
    %ESSBASEPATH%\bin\esscmd.exe E:\Oracle\Backup\backup\scripts\script.msh

  • How can I create an executable with Flex Builder 3?

    I'm working with Flex Builder 3 right now and I've run my
    head into a brick wall. Here's the situation:
    I'm creating a standalone application (runs in its own
    window, not in a web page) and I want to run it on a computer that
    does not have Flex Builder 3 installed. Help files and web searches
    haven't directed me to the right answer, so I was hoping that
    someone on this forum could help. Anyone know how to create a .exe
    file or something else that can be run outside of Flex Builder?
    Thanks a lot for any help!

    quote:
    Originally posted by:
    rob_parkhill
    Convert it to an AIR Application?
    Thanks Rob,
    This may be what I'm looking for, but I don't know enough
    about the difference. I guess I should have pointed out that I'm a
    complete Flex Novice!
    Anyway, with Flex Builder, I created an MXML Application. I
    went through all my various options again in Flex Builder and found
    that under the project menu, I could export a release build in what
    appears to be the format you mentioned. I managed to create a .air
    file, but it is not a recognized file type on my computer. I tried
    double clicking it and the built-in windows services couldn't even
    find a possible way to run it. Am I missing some important step?
    Thanks again.

  • 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.

Maybe you are looking for