Jar file position in classpath

I have built a jar file containing my application.
I added the location (d:\tools\myjar.jar) of the jar file to the end my classpath environment variable, When I try to run the application, it finds the first class containing main just fine but throws a "NoSuchMethodError" when main tries to call a method in any other class in the jar file.
However, if I run the jvm with the classpath switch and put the same location of my jar file first and then append the classpath environment variable, the application runs just fine.
I have tried with and without Class-Path: set in the manifest.
What is confusing is that it runs fine in every environment except when I put the location of the jar file at the end of the class path environment variable.
Oh yes, I have verified the classpath contents with another program that prints out the java.class.path property.
Any thoughts?
Jim

I can offer thoughts, but I don't know if I can help you with the problem...
- I know that using the "-classpath" option with the javac command will override the SystemEnvironment variable for the classpath.
- Are the names of the class files in your Jar unique? Can you be sure that the methods are being called on the classes in your Jar and not on classes elsewhere on your System Environment classpath?

Similar Messages

  • How to add the mail.jar file to my CLASSPATH ?

    Hi;
    I wish to Instal JavaMail 1.2
    To use the JavaMail 1.2 API, i unbundle the javamail-1_3_1-upd.zip file.....and now, i would like to add the mail.jar file to your CLASSPATH.
    My question is: how do you do this ?
    - ok i did that for CATALINA_HOME & JAVA_HOME but how to add the mail.jar file to my CLASSPATH ??
    1000 thanks.

    I think you're looking for "developer support", not packaged application support. different server, different batch of groups. . .
    Since I have very little contact with devopers, I don't truly know.

  • Including jars file to the classpath using javac

    Hi
    I'd like to compile a file including a jar file to the classpath.
    In wich way is it possible?

    Click on the appropriate operating system for the item "Setting the Classpath"
    at http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html

  • What is directory where I can put in jar file without specify classpath ?

    hi,
    Is there any directory in weblogic similar to the directory of WEB-INF/lib/ where I can throw a jar file in without specify classpath explicitly.
    The reason I'm looking for such directory is :
    -- I do not want to specify classpath explicitly
    -- I'd like it outside of an application so that it stay even if the application redeployed.
    Thanks

    Hi Aacc,
    The domain library directory that you are looking for is usually $DOMAIN_DIR/lib, for example "C:\Oracle\WLS_Middleware10.3.4\user_projects\domains\test_domain_1\lib" (Windows) or "/u01/weblogic/domains/my_domain/lib" (Linux/Unix).
    The jars located in this directory will be picked up and added dynamically to the end of the server classpath at server startup. The jars will be ordered lexically in the classpath. The domain library directory is one mechanism that can be used for adding application libraries to the server classpath.
    You can override the $DOMAIN_DIR/lib directory using the -Dweblogic.ext.dirs system property during startup. This property specifies a list of directories to pick up jars from and dynamically append to the end of the server classpath using java.io.File.pathSeparator as the delimiter between path entries.
    -Cris

  • How to include .jar file in our classpath

    I want to do serial communication.I have one demo program but in it they mention that set comm.jar file in your class path.Then how can I set comm.jar file in my class path?

    Javapedia: Classpath
    How Classes are Found
    Setting the class path (Windows)
    Setting the class path (Solaris/Linux)
    Understanding the Java ClassLoader
    java -cp .;<any other directories or jars> YourClassName
    javac -classpath .;<any additional jar files or directories> YourClassName.java

  • Which jar file for the classpath ?

    At my office on my machine i have weblogic 8.1 and tomcat installed.
    weblogic have 2.3 version of servlet and
    tomcat have 2.4 version of servlet
    weblogic is for production purpose (development of servlet, jsp and ejb)
    and tomcat is for my own practice. (just for servlet and jsp)
    i have weblogic.jar as well as servlet-api.jar in my class path.
    now when i compile my servlets which jar file the compiler will use to create the classes.
    if the compiler chooses servlet-api.jar will my servlet run in weblogic
    else
    if the compiler chooses weblogic.jar will my servlet run in tomcat

    i have weblogic.jar as well as servlet-api.jar in my class path.What does this mean? Do you have a system CLASSPATH environment variable?
    Bad idea.
    now when i compile my servlets which jar file the
    compiler will use to create the classes.You should set CLASSPATH using the -classpath option on javac.exe.
    The compiler won't "choose" anything, because it has no idea how you'll deploy. It'll use the one that you tell it to. If you have just a system CLASSPATH it'll always use the first JAR that it finds with the packages it needs.
    You need to specify exactly what you want the compiler to use.
    In the case of servlet.jar it might not matter, because that's pretty standard. JSPs and EJBs are another story, however. If you change deployment, it's best to recompile and repackage the Web app.
    Learn Ant. It'll help you automate this.
    %

  • How to use jar files without setting classpath

    Hi,
    I have a situvation, I can not set classpath, but i have to use jar files, how can I do that.

    URL[] urls = new URL[]{pathToJar, pathToAnotherJar, ...};
    URLClassLoader urlc = new URLClassLoader(urls);
    Now load classes within the jars loaded by the urlc classloader as needed. This is a limited approach, you can mostly use interfaces to work with classes loaded by the custom loader instance above and your existing classes.

  • How do I add my own JAR file to the classpath?

    When I put a JAR file containing several compiled Java classes in the '/opt/SUNWips/lib' directory they are not found while compiling a JSP-Provider. When I extract them from the JAR it is not a problem (I think because the '/opt/SUNWips/lib' directory is already in the classpath).
    Where can I add my JAR to the classpath?

    I have been successfully editing the jvm12.conf file to add jars. This is
    the web server config file in
    /opt/netscape/server4/http-your.server.com/config directory. Add to the
    jvm.classpath line with all the other jars. Yes, lib is in the path, but
    Java doesn't see inside the jars unless they are explicitly in the path.
    "Ulf Licht" <[email protected]> wrote in message
    news:[email protected]..
    When I put a JAR file containing several compiled Java classes in the
    '/opt/SUNWips/lib' directory they are not found while compiling a
    JSP-Provider. When I extract them from the JAR it is not a problem (I
    think because the '/opt/SUNWips/lib' directory is already in the
    classpath).
    Where can I add my JAR to the classpath?
    Try our New Web Based Forum at http://softwareforum.sun.com
    Includes Access to our Product Knowledge Base!

  • Including jar files in the classpath while compiling

    While I compile, I want my class to be able to find the two jar files that are in the same directory as the class that I'm trying to compile.
    c:\brandNew\src\myClass.java
    c:\brandNew\src\lsw-services.jar
    c:\brandNew\src\jdom.jar

    If you are compiling in c:\brandnew\src
    you do
    javac -cp lsw-services.jar;jdom.jar myClass.java

  • Use jar file for one servlet in one application (not global in classpath)

    I have a servlet application that needs a jar file to load with one particular servlet. If I put the classpath to the jar file in the jvm12.conf, the servlet loads fine. I can't run it like that, however, since I use another jar file by the same name in a different application. I would like to specify it only with the servlet that needs it. According to the online help file, it says more than one jar, zip, or class file can be specified in the servlet classpath, but that doesn't seem to be the case. We're running iPlanet 4.1. I've tried adding the classpath to the jar file after the classpath for the servlet itself (servlet.properties), but it gives the class not found error for that function. Is there a way to do this? Context.properties, maybe? I can't find any instructions on setting that up.

    You might have better luck asking this question on a web server forum. This is an application server forum and most people here are going to more experienced with iAS.
    David

  • Classpath and jar file question

    my application need to use few jar files i downloaded from the internet
    so i need to set the classpath so that i can import the packages in the jar file rite?
    let say set classpath=.;c:\somedir\bin;
    the ".;" after the "=" means that i search the current directory first then search the directory i have specified after that rite?
    if so, can i put all the needed jar files in the current directory so that my application can use them??
    Another question is if all the jar files in located in the same directory how can i set the class path to refer to them without sepecifying each of the jar file name??can i just put the directory path and will it locate them automatically when my application start??
    can anyone tell me about it??thanks

    No, you need to include each and every jar file in your classpath.
    Or put them all in your <jdk_installation_dir>\jre\lib\ext directory, so that they will get included in your classpath automatically.
    Sudha

  • Alternative to specify the jar file location other than server classpath.

    Hi,
    We use weblogic 8.1 for our development purpose... and mostly work on ejb's. Every time a new ear file is created and deployed we need to specify the jar files needed to run that application in server classpath.... is there any alternate way so that v can avoid specifying these jar files in server classpath...

    vinod hadlee wrote:
    Hi,
    We use weblogic 8.1 for our development purpose... and mostly work on ejb's. Every time a new ear file is created and deployed we need to specify the jar files needed to run that application in server classpath.... is there any alternate way so that v can avoid specifying these jar files in server classpath...One alternative is you could bundle the jars in the EAR itself in APP-INF/lib.
    Gerald

  • When to use CLASSPATH for .jar files

    I find I must put newly added .jar files in my classpath in order to avoid "does not exist" errors when I compile. Where should .jar files be placed in order to avoid hardcoding this in my classpath?

    Actually. With this .jar file (ksoap-midp.jar) which I downloaded, I can't resolve the imports even when I put the .jar in my classpath. What are the steps to take to add new classes to your system?

  • Executing jar files - why classpath is so rigid ?

    If someone gives me a jar file with a Main in it and some supporting
    library jar files, the Manifest.mf will contain information on what
    the Main class is and also the location of supporting library jars
    RELATIVE to the application jar file. But once I get the jar, I want
    to move the supporting jar files to some other convenient directory.
    But If I do that, the application jar file will not be able to locate
    the supporting classes since the Manifest file has the supporting jar
    paths pretty much HARDCODED ! How do I override the hardcode and give
    it a different search path so that it can start looking at the new
    directory ? This rigidity makes it so painful during times of
    distribution. Please help.

    Well, actually I was not meaning this, though it could work as well...
    There is some classpath in the manifest pointing to some other (external) jar. (Whoever did that, forced this kind of problem to come up!)
    So you don't need to replace the -jar switch but to append the supporting jar-file to your CLASSPATH, so that it can be found together /w the programm itself.
    But then the questioner said, that wouldn't work.. hmmm.
    Maybe a merge of ulf's and my suggestion?
    Remove the -jar switch and append both jar files to the CLASSPATH:
    - the supporting one
    - your own
    Start the program like ulf suggested before.
    Regards, tom

  • In .jar file how can I call API's of other .Jar file

    Hi all,
    I have created a "MyApplication.jar" file that dose not need any other .jar file Like xercesImpl.jar thne it is working fine.
    but If I make the .jar file of application that needs xercesImpl.jar API's
    of this .jar file then how I can call that xercesImpl.jar in my Application.jar newly created.
    please help me
    Thanks in advance.

    either add the other jar file to your classpath or do the following (taken from http://javaalmanac.com/egs/java.lang/LoadClass.html)
    e68. Loading a Class That Is Not on the Classpath
    A URLClassLoader can be used to load classes in any directory.
        // Create a File object on the root of the directory containing the class file
        File file = new File("c:\\myclasses\\");
        try {
            // Convert File to a URL
            URL url = file.toURL();          // file:/c:/myclasses/
            URL[] urls = new URL[]{url};
            // Create a new class loader with the directory
            ClassLoader cl = new URLClassLoader(urls);
            // Load in the class; MyClass.class should be located in
            // the directory file:/c:/myclasses/com/mycompany
            Class cls = cl.loadClass("com.mycompany.MyClass");
        } catch (MalformedURLException e) {
        } catch (ClassNotFoundException e) {
        }

Maybe you are looking for