Setting classpath to execute jar file.

I have dependency jar files to execute my jar file.
set classpath=./lib/tpc.jar;./lib/jxl.jar;
      ./lib/log4j-1.2.15.jar;./lib/logSys.jar;
java -jar ./lib/tpc.jar %1java -jar seems not taking classpath environment variables and showing error as
Exception in thread "main" java.lang.NoClassDefFoundError:
com/sys/logger/LogManager
        at utility.tpc.generate.Tpc.generate(Unknown Source)
        at utility.tpc.generate.Tpc.main(Unknown Source)The below one works, but I dont want to give all jar files along with java command and to make complicate.
java -cp "./lib/tpc.jar;./lib/jxl.jar;./lib/log4j-1.2.15.jar;./lib/logSys.jar;"
         utility.tpc.generate.Tpc %1Is there a way to make first one to work ? Will adding "Class-Path:jxl.jar,log4j-1.2.15.jar,logSys.jar" in my manifest file make it work ?

baskark wrote:
I have dependency jar files to execute my jar file.
set classpath=./lib/tpc.jar;./lib/jxl.jar;
./lib/log4j-1.2.15.jar;./lib/logSys.jar;
java -jar ./lib/tpc.jar %1java -jar seems not taking classpath environment variables and showing error as
Exception in thread "main" java.lang.NoClassDefFoundError:
com/sys/logger/LogManager
at utility.tpc.generate.Tpc.generate(Unknown Source)
at utility.tpc.generate.Tpc.main(Unknown Source)The below one works, but I dont want to give all jar files along with java command and to make complicate.
java -cp "./lib/tpc.jar;./lib/jxl.jar;./lib/log4j-1.2.15.jar;./lib/logSys.jar;"
utility.tpc.generate.Tpc %1Is there a way to make first one to work ? Will adding "Class-Path:jxl.jar,log4j-1.2.15.jar,logSys.jar" in my manifest file make it work ?The jar command is specified to work as you have shown. That is, when you use "java -jar..." the system or command line classpath is ignored. The only classpath that can be used with "java -jar..." is the Class-Path in the manifest. You need to separate the different paths using space characters, not ; or : and the paths need to be relative to the jar file. (I am not sure if "./" will work and it is not needed to specify relative to the jar file.)
Edited by: atmguy on Dec 14, 2009 8:42 AM

Similar Messages

  • IconService and classpath in executable jar file

    I use JDIC project (https://jdic.dev.java.net/) and want to use its incubator project iconService as well - both of them in one project. When I run my program from within Eclipse 3.1 IDE, everything works.
    But if I export it to a jar file, the program does not run. I found out that Eclipse 3.1does not create the manifest file correclty. When using only JDIC, I wrote this line to the Manifest file and the exported jar worked:
    Class-Path: external_libs/jdic-0.9-bin-cross-platform/jdic.jarBut when I try to add also the other library - Iconservice to the classpath of the Manifest file like this:
    Class-Path: external_libs/jdic-0.9-bin-cross-platform/jdic.jar external_libs/Icon_service/jdic_icon.jar the console writes out these errors:
    Exception in thread "main" java.lang.ExceptionInInitializerError
    at Frontend.Mainframe.getIcon
    Caused by: org.jdesktop.jdic.spi.ProviderException: Provider org.jdesktop.jdic.icons.impl.WinIconProvider  can not be found
    at ...
    I suppose that the program cannot find the needed "jdic_icon.dll" but I do not know how to set the path to a dll into classpath of manifest file.
    Can anyone help me?
    Thanx in advance.
    Lubos.

    [This is a cross-post of http://forum.java.sun.com/thread.jsp?forum=424&thread=453226]

  • Add classpath in an executable jar file

    an executable jar file contains a manifest file with entry main-class: MyApplicationClass.
    if we double click the jar file on Windows OS, main class is loaded.
    my question is:
    if classes in he jar file use classpaths which are not default, how to add those classpaths into manifest file to tell classes to use those classpaths?
    it is similar to command line:
    java -classpath c;\mypackage; .......; MyApplicationClass

    Thanks, i will try soon.
    here is another Q.
    if i need to add tools.jar (JDK lib) as classpath in manifest file, it is as following in my PC
    d:\install\java\jdk14101\lib\tools.jar.
    but my customers install JDK in different path (should be considered as unknown), how to add it as entry Class-path for all customers?

  • 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

  • Executing JAR file ignores classpath

    I have recently been working with JAR files, and manifest.mf files. I have discovered that the only classpath that the jar file will ever use is the one defined in the manifest file.
    Apparently, specifying the classpath on the command line, or through the CLASSPATH environment variable is ignored by the JAR file.
    Can anyone explain why this is the behavior for jar files?

    Can anyone explain why this is the behavior for jar
    files?Because the Class-Path parameter in the jar's manifest file is the value that controls where Java looks for your classes.

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

  • Class not found error while executing jar file

    I have written a java code in which i am connecting to database....when i run the class file using......java class_filename it works........
    but when i run the jar file using .......java -jar jar_name ...yi gives me the error as 'Class not found'......
    can anybody help me please......
    Thanks and Regards,
    Siddhesh

    that class is part of jar file.....in classpath i have included zip files for jdbc ...to get databse connection.....and the jar being executed ................still it gives the error ClassDefnotfound which i think is due to database connection problem.....the exception is raised while.....
    Class.ForName("Driver_name").newInstance();/ This driver is present in zip files that i have added in classpath....
    above statement doesn,t giv error while i execute the class file............but exception while executing jar file only..
    Thnaks and regards,
    siddhesh

  • Classpath Issue - but JAR file is in the classpath

    I'm having an issue getting a JAVA Application Client to run and would welcome any suggestions or input to resolve this problem. I'm not a developer, just the builder/deployer of the applications. There are two developers looking at this problem too, but they are stumped too.
    It complains that it can't find sun/jdbc/rowset/CachedRowSet, which is contained in the rowset.jar - which is in the classpath. I've put all the supporting information below, if you need additional information please let me know and I'll provide it.
    ***** ERRORS FROM RUNNING SCRIPT BELOW *****
    *** NOT Using Verbose: ***
    Exception in thread "main" java.lang.NoClassDefFoundError: sun/jdbc/rowset/CachedRowSet
    *** Using Verbose (only included the output with the error): ***
    [Loading superclasses of com/actuate/schemas/SubmitJobResponse]
    [Loaded java.sql.SQLException from /usr/java130/jre/lib/rt.jar]
    [Loading superclasses of java/sql/SQLException]
    [Signaling in VM: java/lang/NoClassDefFoundError, message: sun/jdbc/rowset/CachedRowSet]
    Exception in thread "main" java.lang.NoClassDefFoundError: sun/jdbc/rowset/CachedRowSet[Loaded sun.i
    o.UnknownCharacterException from /usr/java130/jre/lib/rt.jar]
    [Loading superclasses of sun/io/UnknownCharacterException]
    [Preparing sun/io/UnknownCharacterException]
    ***** SCRIPT TO RUN THE JAVA COMMAND *****
    #!/usr/bin/ksh
    LIBDIR="/actuate/Mace/lib"
    JAVA_CP=""
    MAIN_JAR="MaceEXT.jar"
    JAVA_PATH="/usr/java130/jre/bin"
    JAVA_HOME="/usr/java130/jre"
    JAVA_FULLVERSION=`$JAVA_PATH/java -fullversion`
    JAVA_EXE=${JAVA_HOME}/bin/java
    PATH=$JAVA_PATH:$PATH
    export PATH
    export JAVA_HOME
    JAVA_CP="${LIBDIR}/sljcx.jar"
    JAVA_CP="${LIBDIR}/sljc.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/rowset.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/wsdl4j.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/tt-bytecode.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/servlet.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/saaj.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/log4j-1.2.4.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/jaxrpc.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/commons-logging.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/axis.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/ivjejb35.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/j2ee.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/activation.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/mail.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/ns.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/xmlParserAPIs.jar":${JAVA_CP}
    JAVA_CP="${LIBDIR}/xercesImpl.jar":${JAVA_CP}
    JAVA_CP="$JAVA_HOME/lib/rt.jar":${JAVA_CP}
    echo ""
    echo "Classpath"
    echo $JAVA_CP
    echo ""
    echo "JAVA_Home"
    echo $JAVA_HOME
    echo ""
    echo "JAVA_EXE"
    echo $JAVA_EXE
    echo ""
    echo "JAVA_Path"
    echo $JAVA_PATH
    echo ""
    echo "JAVA FullVersion"
    echo $JAVA_FULLVERSION
    #$JAVA_EXE -cp $JAVA_CP -jar $MAIN_JAR -h dev -c adduser -u 000 -p ""
    $JAVA_EXE -verbose -cp $JAVA_CP -jar $MAIN_JAR -h dev -c adduser -u 000 -p ""
    ***** JAR -tvf OF ROWSET.JAR *****
    server105:/actuate/Mace/lib $ jar -tfv rowset.jar
    0 Tue Jun 13 19:45:42 EDT 2000 META-INF/
    66 Tue Jun 13 19:45:42 EDT 2000 META-INF/MANIFEST.MF
    0 Tue Jun 13 19:45:30 EDT 2000 sun/
    0 Tue Jun 13 19:45:30 EDT 2000 sun/jdbc/
    0 Tue Jun 13 19:45:42 EDT 2000 sun/jdbc/rowset/
    551 Tue Jun 13 19:45:30 EDT 2000 sun/jdbc/rowset/BaseRow.class
    9112 Tue Jun 13 19:45:32 EDT 2000 sun/jdbc/rowset/BaseRowSet.class
    35562 Tue Jun 13 19:45:36 EDT 2000 sun/jdbc/rowset/CachedRowSet.class
    597 Tue Jun 13 19:45:36 EDT 2000 sun/jdbc/rowset/ColInfo.class
    1290 Tue Jun 13 19:45:36 EDT 2000 sun/jdbc/rowset/InsertRow.class
    18442 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/JdbcRowSet.class
    2109 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/Row.class
    4489 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/RowSetMetaDataImpl.class
    4707 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/RowSetReaderImpl.class
    8270 Tue Jun 13 19:45:38 EDT 2000 sun/jdbc/rowset/RowSetWriterImpl.class
    4745 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SQLInputImpl.class
    3287 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SQLOutputImpl.class
    2326 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialArray.class
    1560 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialBlob.class
    1948 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialClob.class
    592 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialRef.class
    2419 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/SerialStruct.class
    1903 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/WebRowSet.class
    257 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlReader.class
    15620 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlReaderDocHandler.class
    2029 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlReaderImpl.class
    258 Tue Jun 13 19:45:40 EDT 2000 sun/jdbc/rowset/XmlWriter.class
    9797 Tue Jun 13 19:45:42 EDT 2000 sun/jdbc/rowset/XmlWriterImpl.class
    ***** ECHO OF VARIABLES FROM SCRIPT *****
    Classpath
    /usr/java130/jre/lib/rt.jar:/actuate/Mace/lib/xercesImpl.jar:/actuate/Mace/lib/xmlParserAPIs.jar:/ac
    tuate/Mace/lib/ns.jar:/actuate/Mace/lib/mail.jar:/actuate/Mace/lib/activation.jar:/actuate/Mace/lib/
    j2ee.jar:/actuate/Mace/lib/ivjejb35.jar:/actuate/Mace/lib/axis.jar:/actuate/Mace/lib/commons-logging
    .jar:/actuate/Mace/lib/jaxrpc.jar:/actuate/Mace/lib/log4j-1.2.4.jar:/actuate/Mace/lib/saaj.jar:/actu
    ate/Mace/lib/servlet.jar:/actuate/Mace/lib/tt-bytecode.jar:/actuate/Mace/lib/wsdl4j.jar:/actuate/Mac
    e/lib/rowset.jar:/actuate/Mace/lib/sljc.jar:/actuate/Mace/lib/sljcx.jar
    JAVA_Home
    /usr/java130/jre
    JAVA_EXE
    /usr/java130/jre/bin/java
    JAVA_Path
    /usr/java130/jre/bin
    JAVA FullVersion
    java full version "J2RE 1.3.0 IBM build ca130-20020504"
    ***** DIRECTORY LISTING *****
    server105:/actuate/Mace $ ls -lat
    -rwxr-xr-x 1 actuate actuate 1673 Apr 04 09:11 go.sh
    -rw-r----- 1 actuate actuate 476699 Apr 03 12:37 MaceEXT.jar
    drwxr-xr-x 2 actuate actuate 4096 Apr 02 10:49 lib
    -rw-r----- 1 actuate actuate 1818 Mar 28 11:15 MaceConfig.xml
    server105:/actuate/Mace/lib $ ls -lat
    -rw-r----- 1 actuate actuate 32033 Apr 02 10:49 ivjejb35.jar
    -rw-r----- 1 actuate actuate 329096 Apr 02 10:49 j2ee.jar
    -rw-r----- 1 actuate actuate 374291 Apr 01 16:39 ns.jar
    -rw-r----- 1 actuate actuate 654326 Apr 01 16:31 sljc.jar
    -rw-r----- 1 actuate actuate 81987 Apr 01 16:31 sljcx.jar
    -rw-r----- 1 actuate actuate 54368 Mar 31 08:32 activation.jar
    -rw-r----- 1 actuate actuate 867459 Mar 31 08:32 axis.jar
    -rw-r----- 1 actuate actuate 24287 Mar 31 08:31 commons-logging.jar
    -rw-r----- 1 actuate actuate 32069 Mar 31 08:31 jaxrpc.jar
    -rw-r----- 1 actuate actuate 378778 Mar 31 08:31 log4j-1.2.4.jar
    -rw-r----- 1 actuate actuate 305414 Mar 31 08:31 mail.jar
    -rwxrwxrwx 1 actuate actuate 62388 Mar 31 08:31 rowset.jar
    -rw-r----- 1 actuate actuate 18468 Mar 31 08:31 saaj.jar
    -rw-r----- 1 actuate actuate 78350 Mar 31 08:31 servlet.jar
    -rw-r----- 1 actuate actuate 130773 Mar 31 08:31 tt-bytecode.jar
    -rw-r----- 1 actuate actuate 109356 Mar 31 08:31 wsdl4j.jar
    -rw-r----- 1 actuate actuate 933730 Mar 31 08:31 xercesImpl.jar
    -rw-r----- 1 actuate actuate 78440 Mar 31 08:31 xmlParserAPIs.jar

    All that script made my eyes glaze over, but it appears you are running your main class from an executable jar file. Is that correct? Executable jar files don't use the classpath. If you want them to refer to anything outside the executable jar, you have to put Class-Path entries in its manifest.

  • Including a jar file inside an executable jar file

    Is it possible to include a jar file inside another (executable) jar file such that the included file is part of the class path for the outer file? If so, how do you specify this in the classpath in the manifest?

    Russ_Bjork wrote:
    Is it possible to include a jar file inside another (executable) jar file such that the included file is part of the class path for the outer file?No. Actually, I suppose it would be possible if you do all the 'heavy lifting', but Java is not designed to handle Jars within Jars.
    What do you see as the advantage of doing that?
    Is your app. a rich client (e.g. Swing, AWT, SWT..)?
    Can you distribute the app. from a server or the internet?

  • Why i can't execute jar files

    Greetings
    I read that jar files are executable unpon clicking them, but with me it do nothing.
    right now i'm using the command prompt to decompress jar files
    jar -xf jarfile.jar
    i have windows xp professional with j2sdk1.4.1

    You can execute JAR files by double-clicking them if the JAR files have an appropriate manifest and your file associations are set correctly (i.e. make sure you open JAR files with JAVAW.EXE). You can learn more about the manifest here:
    http://java.sun.com/docs/books/tutorial/jar/basics/manifest.html

  • Error trying to run an executable Jar file

    Hi,
    I know a million people have asked this before. In the past 5 hours I have waded thru a dozen questions-answers-FAQs that were no help. So if anyone is willing to help a stupid person her is my problem:
    I developed a java program using the eclipse ide and it runs fine from within that ide.
    I packaged it into a Jar file, created a manifest file per the instructions.
    But when I double click on the jar file I get the following error from the Java Virtual Machine Loader;
    "Could not find main class. Program will exit."
    My Manifest file has the following text:
    Manifest-Version: 1.0
    Class-Path: swt.jar
    Main-Class: .graphicalUserInterface.AppStandAlone
    <blank line>
    the class AppStandAlone has the method "public static void main(String[] args) "
    it is in a package called "graphicalUserInterface".
    Any help anyone can give me would be greatly appreciated.

    Another 3 hours spent trying to run this java application in a Jar file.
    I identified that I did not have all class paths specified. So I tried to enter them in the "Class-Path:" line of the manifest file. But, according to the java tutorial, the syntax in a manifest file for classpaths is a space SEPARATING each path name. I have a space IN the path name and java is not understanding the paths correctly. For instance, I have a classpath c:\Progran Files\Java\etc... and java interprets this to be a classpath c:\Progran with Files\Java\etc as the program I want to run.
    I tried enclosing the paths in double quotes. Didn't work
    I tried enclosing the paths in single quotes. Didn't work
    I tried using a semicolon as a separator with double quotes. Didn't work
    I tried using a semicolon as a separator with single quotes. Didn't work
    I tried using a semicolon as a separator with no quotes. Didn't work
    I removed the "Class-Path:" line from the manifest and tried adding -cp param to the java command. Example:
    java -cp %classpath% -jar myapp.jar
    I tried all the variations above in the -cp param. None of them worked.
    The only thing that works is if I move executable jar file to the same directory as the required libraries. Then I specify a "Class-Path:" line with no spaces in the path names. Obviously this is not a permanent solution.
    If anyone else has the patience to help me I would really appreciate it.

  • Can't Execute JAR file deployed from JDev 903

    Hi Everyone:
    I took the Oracle beginning Java class, and got a copy of JDeveloper 9, and started in on a project. The task was to create a small module that will allow users with no direct SQL access to change their Oracle passwords. The good news is that it runs great from within JDev; it catches exceptions cleanly, it handles multiple databases with no problems. The bad news is that I cannot get it to run from a batch file or command line (client is Windows). I have run 'setvars', I have copied the CLASSPATH from the run window in JDev, all to no avail.
    I am trying to deploy the app as an executable jar file. It's not meant to be an applet, because of the security implications.
    I would gladly RTFM, but the FM's that I have gloss over the deployment step in Jdev. I figure it's something obvious, but I just cannot figure it out.
    Any suggestions? Help a newbie...
    Thanks,
    Mike

    Hi Mike,
    I suggest you take a look at the log window of JDev, when you've successfully run your project.
    If the log window is not displayed, go to View | Log.
    Cut the command line, invoking javaw.exe, and paste it into your favorite editor.
    Change javaw.exe into java.exe, save your file as a bat file, go in a DOS console, and run the bat file.
    Let me know if it fixes your problem.
    Thanks,
    - Olivier

  • Prbolem in executing jar file

    Hi
    I have written a java program that just prints "HAI"
    I made that as a executable jar file
    But when i am running that jar from DOS, the output is not printing
    Please solve my problem
    Thanks

    gimbal2 wrote:
    Kayaman wrote:
    Well, normally if your Jar file has a manifest file with the Main-class defined, you wouldn't need to use the -cp switch, in that case
    java -jar Sample.jarwould be enough. In fact the -cp flag is ignored when invoking an executable jar; the classpath MUST come from the manifest.This could be a 'cultural difference' in understanding, but it would be more accurate to say the -cp option is ignored if the -jar option is specified. This would mean that the -cp flag is not ignored in this command.
    java -cp Sample.jar SampleAnd while I am here, a question for the OP that I am not clear on. The manifest.txt used, does it end with one entirely blank line? (Note that copy/pasting the manifest.txt here will not prove anything, since the forum software will chew up the blank line even if code delimiters are used.) The symptoms of the problem do sound like the JVM is detecting the manifest and successfully reading the main-class attribute, since the stacktrace specifically stated it failed to load Sample.

  • Cannot make executable jar file for swt application

    hi to all!!! i have started learning swt library and it seems nice to me, but i have one problem, i cannot run my application. The problem is that i cannot make executable jar for it.
    i'm using ecilpse_3.1.2 and have pluggined the visual editor for swt! yesterday i found one topic where was described the process of making the swt executable jar, i followed the instructions in the topic, but didn't resolve my problem, so if anybody knows how to achieve this , please help!!!!!!
    the instructions in the mentioned topic are :
    1. Make sure the SWT jar file is included in the Eclipse project build path
    a. Download the standalone SWT jar file from eclipse.org even if you already have the ones that come with Eclipse. It is called ?swt.jar? and you will package it with the executable JAR. Make sure it is the same version of SWT that you used to make your program.
    b. In Eclipse, import swt.jar via Project Properties::Java Build Path::Libraries::Add External JARs. (Make sure to include the source .zip file). Also make sure to select the swt package in the ?Order and Export? tab.
    c. At this point, you should be able to compile and run your SWT application in the Eclipse SDK.
    2. Do a standard Eclipse jar file export
    a. Right click on the main .java project file and select ?Export??.
    b. Choose ?JAR File? from the list.
    c. Select the relevant packages and .classpath and .project resource files
    d. Make sure ?Export generated class files and resources? is selected and browse to the location where you want the JAR file to be created.
    e. Specify ?Generate the manifest file? and don?t seal the JAR or any packages. Choose the class containing the main method as the ?Main class?.
    3. Change the manifest file
    a. Navigate to the JAR file you created and open it with WinZip.
    b. Open the MANIFEST.MF file inside and copy the contents.
    c. Create a new file called ?MANIFEST.MF? and paste in the contents of the old manifest file.
    d. Add the line ?Class-Path: <swt jar file path>?. For simplicity, you can just keep a copy of the swt.jar file in the same folder as the executable jar, in which case, the line is ?Class-Path: swt.jar?. Make sure there is a carriage return after the last line in the manifest file, or that line will not be parsed.
    4. Replace the manifest file
    a. Make sure the manifest file and the executable jar are in the same folder.
    b. Open the command prompt and navigate to the containing folder.
    c. Enter the command ?jar umf MANIFEST.MF <executable jar name>? to update the manifest file with the class path information.
    5. Package the JAR with SWT files
    a. Put the updated executable JAR file, swt.jar, and the associate DLL in the same folder. The DLL can be pulled out of swt.jar and should have a name like ?swt-win32-####.dll? on Windows.
    b. The JAR file should now successfully execute. On Windows, you can usually just double click the JAR file in explorer and it will open. If that does not work, the command ?java ?jar <executable jar name>? on the command line has the same effect.
    but a few steps aren't exact for me , for example : first, which jar i have to include in build path : downloaded or from plugins folder, second
    i have to incude source.zip too??? but it is only in downloaded zip file which includes both swt.jar and src.zip, and finally can anyone clarify next :
    "5. Package the JAR with SWT files
    a. Put the updated executable JAR file, swt.jar, and the associate DLL in the same folder. The DLL can be pulled out of swt.jar and should have a name like ?swt-win32-####.dll? on Windows."
    what does this mean, put these in folder or make jar from them????

    wolve634 wrote:
    but a few steps aren't exact for me , for example : first, which jar i have to include in build path : downloaded or from plugins folder, secondTry it both ways. If neither works, then ask again. In a suitable forum, though. An Eclipse forum or an SWT forum or something related to where you got those instructions would make a lot more sense than asking here.
    i have to incude source.zip too???No, of course you don't have to distribute the source code.
    a. Put the updated executable JAR file, swt.jar, and the associate DLL in the same folder. The DLL can be pulled out of swt.jar and should have a name like ?swt-win32-####.dll? on Windows."
    what does this mean, put these in folder or make jar from them????It says "Put (them) in the same folder". You're asking whether that means to put them in a folder? Yes, it does.

  • Question about Executable JAR Files

    Is it possible to make an executable JAR file that has all of the *.class files, all of the *.jar archives used, etc. packaged into one file that doesn't need these external files within the same directory? I've been having a ton of trouble finding the answer to this. (If it's blatantly obvious, please forgive me.)

    Hello,
    I went through the same thing recently. Here is a piece of the build file I use:
    <project name="MyProj" basedir="." default="main">
        <property name="src.dir"     value="src"/>
        <property name="build.dir"   value="build"/>
        <property name="classes.dir" value="${build.dir}/classes"/>
        <property name="jar.dir"     value="${build.dir}/jar"/>
        <property name="main-class"  value="MyProj.Main"/>
        <property name="lib.dir"     value="lib"/>
        <path id="classpath">
            <fileset dir="${lib.dir}" includes="**/*.jar"/>
        </path>
        <target name="compile">
            <mkdir dir="${classes.dir}"/>
            <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
        </target>
        <target name="jar" depends="compile">
            <mkdir dir="${jar.dir}"/>
            <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
              <zipfileset src="lib/commons-codec-1.3.jar"/>
              <zipfileset src="lib/commons-fileupload-1.1.1.jar"/>
              <zipfileset src="lib/commons-httpclient-3.0.1.jar"/>
                <manifest>
                    <attribute name="Main-Class" value="${main-class}"/>
                </manifest>
            </jar>
        </target>
        <target name="main" depends="clean,run"/>
    </project>Note the <zipfileset> tags that contain the .jars.
    There are, however, many good reasons to not do this. Some were already mentioned, another is in the case of update external libraries, you might not want to rebuild your whole project, replacing a jar may be easier.
    Good luck,
    -Sam

Maybe you are looking for

  • Help....6230i

    Hi, my 6230i keeps requesting that I "check info service". I havent got a clue why it does this or how to stop it, however, It does eat away at the battery power and as such I have to recharge every day. How do I stop it? Thanks holmezy14

  • How to set Maxmimum header length in Web Server. It creates a problem

    I have setup Sun webserver ahead of Glassfish Application server. Now when i send a request having length 17000 as POST request , my application does nt receive the whole request data. If i make request direct to Application server , app server servs

  • Canon  printer image 4890dw error in wireless printing " filter " error

    Hi level 1 , I have Cannon printer MF 4890dw series and first time i use it everything was of , today the my macbook can not connect wiressly to print. Can you help me ?

  • CTRL+SHIFT+EJC doesn't work anymore

    On my MacBook Pro, the above no longer works to turn the screen off. How do I enable it again?

  • Jumps between chapters in audiobooks

    Have a problem here when listening to some books. I´t wont follow the book but instead it jumps over chapters. But when listening in itunes it plays correct and in the map the chapters are correct in line. Don´t have that problem in all the books, ju