Using an External Jar file

I was hoping my intro programming class would be easy, as I've done some C++ before, but go figure, it's not.
Although the language/concepts aren't to difficult to learn, it seems compiling programs is. For one program, I'm giving an external .jar file to use. I'm using crimson editor and I do have it setup with the jdk1.6.0. It compiles all my other programs besides this one (command line doesn't work either).
Essentially, I've created a project, I have an instantiable class, and an application class. I can call the instantiable class in the app class and creating/modifying objects works just fine. Then I have a .jar file added to the project that came from the class (supposed to be used for I/O, don't know why we can't just use the standard java classes, but oh well). anyways, when I try to call the methods in the .jar file I get the following error:
---------- Capture Output ----------
"C:\Program Files\Java\jdk1.6.0\bin\javac.exe" file.javafile.java:6: cannot find symbol
symbol : variable externalJar
location: class file
          int value = externalJar.getIntInput();
          ^
After doing some searching, I found that it might be due to the classpath. So I set the classpath to the directory.. no go. Then I set the classpath to the externalJar.jar file and I get the follow error:
---------- Capture Output ----------
"C:\Program Files\Java\jdk1.6.0\bin\javac.exe" -classpath C:\folder\externalJar.jar file.javaerror: error reading C:\folder\externalJar.jar; error in opening zip file
I'm at a loss. It works when I use Eclipse and I can just add the external jar file, but I don't want to use eclipse, it's slow and bulky. Any other solutions to this problem? Thanks.
E-Rod
*names were changed for a reason.. i already know i'm not misspelling anything                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

The error about not being able to find the variable externalJar has nothing
to do with the classpath. It's just that your code in file.java refers to this variable,
but you have not declared it anywhere.
Variables within a class, the names of classes and the names of .jar files
which contain packages have nothing whatsoever to do with one another.
If you are using a variable externalJar intending it to reference your external jar
file in some way, then your file.java code is seriously wrong.
(Also, classes and their associated source files should begin with an
uppercase letter.)
Regarding your attempt to specify the classpath when you invoke the
compiler (always a good idea), I think you should also include the current
directory (if that is where file.java is). Like this:"C:\Program Files\Java\jdk1.6.0\bin\javac.exe" -classpath C:\folder\externalJar.jar;. file.javaThe "error opening zip file" thing is odd. Make sure you are
able to read it (permissions OK, no other process has it locked). And that
it's not corrupt (Did you create it? If so, rebuild it. If not, aquire another copy.)
Sorry for the generalities and guesswork, but without seeing any code and
without knowing your directory structure or the contents of this externalJar.jar
it's hard to do any more.

Similar Messages

  • How to use external jar files ??

    Hi all,
    In my user-defined function for mapping (IR) , I want to make use a Class which is available in an external .jar file.
    Our XI is working on Windows2003 OS. I set the classpath in OS environment variables.
    But it is not working.
    Where I should set the classpath ?
    Can anyone help.
    Thanks in Advance
    Chemmanz
    Message was edited by: Chemmanz

    Hi Chemmanz,
    For user defined functions, it is not necessary to use the external jar files.
    Just follow the below steps:
           1.      To create a new user-defined function, choose <b>Create New Function</b> in the data-flow editor at the bottom of the screen, on the left-hand side.
           2.      Specify the attributes of the new function in the subsequent window:
    Name:
    Technical name of the function. The name is displayed in the function chooser and on the data-flow object.
    Description:
    Description of how the function is used.
    Arguments:
    In this table, you specify the number of input values the function can process, and name them. All functions are of type String.
           3.      In the subsequent window, you can create Java source code:
                                a.      You can import Java packages to your methods from the Imports input field, by specifying them separated by a comma or semi-colon:
    You do not need to import the packages java.lang., java.util., java.io., and java.lang.reflect. since all message mappings require these packages and therefore import them.
    In addition to the standard packages, you can also specify Java packages that you have imported as archives and that are located in the same, or in an underlying software component version as the message mapping.
                                b.      Create your Java source text in the editor window or copy source text from another editor.
           4.      Confirm with Save and Close.
           5.      User-defined functions are limited to the message mapping in which you created the function. To save the new function, save the message mapping.
           6.      To test the function, use the test environment.
    The new function is now visible in the User-Defined function category. When you select this category, a corresponding button is displayed in the function chooser pushbutton bar. To edit, delete, or add the function to the data-flow editor, choose the arrow next to the button and select from the list box displayed.
    Regards,
    Prasad U

  • Using External JAR file within Web Dynpro DC

    Hi,
    I have created a Web Dynpro DC and I need to use an external JAR file.
    I want to use this external JAR file within the same Web Dynpro DC and NOT creating another DC to house the external JAR file as I can see from the blog.
    I have included the external JAR file in the "lib" folder of the Web Dynpro DC.
    When I tried to perform a DC build, it keeps complaining error....
    How should I solve this problem...
    Thanks.
    mike

    Hi Mike,
    Go through the below which might help you.
    Re: Lookup of RFC Destinations
    Re: Import a Java Bean from a different DC
    Web Dynpro References
    Re: j2ee library with webdynpro
    Re: Web Services :HTTP Destination not getting resloved.
    http://help.sap.com/saphelp_nw70/helpdata/en/46/3ce3e4df201d63e10000000a11466f/frameset.htm
    Thanks n Regards,
    Jhansi Miryala

  • Exception while adding External Jar files in NWDS

    Dear Friends,
                            Actually i am adding an external Jar file in my EJB Module in NWDS.I am using this jar file for converting XML to flat file and i am calling this module from Receiver ommunication channel.For this process, i am importing dom4j.jar file in the EJB Module.
                          Now i have created an external Library project for the cause that i have used the external jar file, and i have made following code in the provider.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE provider-descriptor SYSTEM "library.provider.dtd">
    <provider-descriptor>
         <display-name>
          XML2EDI_Library
        </display-name>
         <component-name>
          XML2EDI_Library
        </component-name>
         <major-version>6</major-version>
         <minor-version>40</minor-version>
         <micro-version>0</micro-version>
         <provider-name>
          dom4j.org
        </provider-name>
         <references>
              <reference
                   provider-name="dom4j.org"
                   strength="weak"
                   type="library">org.dom4j.Document</reference>
              <reference
                   provider-name="dom4j.org"
                   strength="weak"
                   type="library">org.dom4j.DocumentException</reference>
              <reference
                   provider-name="dom4j.org"
                   strength="weak"
                   type="library">org.dom4j.Element</reference>
              <reference
                   provider-name="dom4j.org"
                   strength="weak"
                   type="library">org.dom4j.io.SAXReader</reference>
         </references>
         <jars>
              <jar-name>EDI_Module.jar</jar-name>
         </jars>
    </provider-descriptor>
    I have included 4 references because i have imported following in my ejb module.
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    I am not sure of wht to include in reference target and provider name, I am getting the following exceptions in Message monitoring:
    1. AO: Document Exception: org.dom4j.DocumentException: E:\usr\sap\BWS\DVEBMGS00\j2ee\cluster\server0\
    2. Nested exception: E:\usr\sap\BWS\DVEBMGS00\j2ee\cluster\server0\
    Help me in this issue..
    Thanks in advance
    N.Jayanth Kumar

    thanks for you help sidharth.
    i have now jar files in the server and the application  referring to the jar files. everything is deployed fine. however, when i start the application..i get the error -"package jcifs.smb does not exist". the jar i am using is jcifs-1.2.7.jar. in my web module when i expand the jar i see the package and the .class files inside. what am i missing?
    Also, i din't define a SharingReference to usermanagement in portalapp.xml as i am working towards a pure j2ee enterprise application. the web module (DC) referes to the jar files. is there any step similar to defining the sharing reference for the web module DC?
    please help. thanks - sowmiyar

  • How to call external jar files in EJB project for CE

    Hi,
    I would be thankful if someone could help me with this -
    I need to call the external jar files into my EJB project - Here is what I have done and am getting runtime exception as  -
    java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/glance/pdf/pt/PTDoc
    1. Created a EJB  project" HelloWorld "  using Java perspective in NWDS 7.1 called with client as HelloWorldClient and EAR project as HelloWorldEAR.
    2. Am working on HelloWorld project (1st one).
    3. In my code I am instantiating a class which is a class in one of  the external jar file that I need to refer in my project.
    4. I have set the Java Build path but it works only for the compile time and fails during runtime.
    5. Have read I need to create external library DC and refer in my project "HelloWorld".
    Can anyone help me with exact steps what needs to be done - during creation of external library project and then for my "HelloWorld" EJB project. How would I be able to reference or set the external library project in my EJB project?
    Looking forward to hear from experts.
    Thanks,
    Shiv
    Edited by: Shiv Khullar on Aug 30, 2010 9:39 PM

    Hi Edson,
    I tried it , but it still gives me runtime exception.
    javax.ejb.EJBException: nested exception is: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/glance/pdf/pt/PTDoc
    java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/glance/pdf/pt/PTDoc
    Steps I performed are -
    1. Created a library project and created 2 Public parts "Compilation" and "Assembly"
    2. Build the library project.
    Now in my EJB project using Project Explorer - set the classpath and added both compilation jar and assembly jar files.
    This is how the classpath entries for external library looks like -
    <classpathentry kind="lib" path="/LocalDevelopmentLocalDevelopmentexternallibrarypdftoolsforwatermarkingdemo.sap.com/gen/default/public/WatermarkAssembly/lib/java/demo.sap.comexternallibrarypdftoolsforwatermarking~WatermarkAssembly.jar"/>
         <classpathentry kind="lib" path="/LocalDevelopmentLocalDevelopmentexternallibrarypdftoolsforwatermarkingdemo.sap.com/gen/default/public/WatermarkCompilation/lib/java/demo.sap.comexternallibrarypdftoolsforwatermarking~WatermarkCompilation.jar"/>
    I have also added the jar files I used in my external library project as "User Library" from Java Build Path . I dont do it , then the code fails during compilation itself.
    Regards,
    Shiv

  • Adding External Jar files

    Hello,
    I have successfully created and deployed a portal application project (par file) that required adding as an external jar the file com.sap.portal.usermanagementapi.jar. Now I am re-doing the project as a development component in NWDI and I can add the external jar file fine and the source code shows no errors. However as soon as I build the DC I get a  source error that says the import to com.sap.ip.portal.service.ume.IUserManagementEngine can not be resolved. If I go back to the java build path the usermanagementapi.jar is no longer there.
    Do I have to handle the adding of external jar files in a different way for a DC as opposed to a par project?
    Thanks,
    Bert

    thanks for you help sidharth.
    i have now jar files in the server and the application  referring to the jar files. everything is deployed fine. however, when i start the application..i get the error -"package jcifs.smb does not exist". the jar i am using is jcifs-1.2.7.jar. in my web module when i expand the jar i see the package and the .class files inside. what am i missing?
    Also, i din't define a SharingReference to usermanagement in portalapp.xml as i am working towards a pure j2ee enterprise application. the web module (DC) referes to the jar files. is there any step similar to defining the sharing reference for the web module DC?
    please help. thanks - sowmiyar

  • Deploying external jar files in CE 7.1

    Hi All,
    I am using CE 7.1 SP01 NWDS to develop my applications.
    Now I want deploy one external jar files to J2ee engine.
    I know how to do the same in NWDS 2004s. But here the steps seems to be little bit different.
    I referred the following blog for doing this in CE 7.1
    /people/raphael.vogel/blog/2008/05/05/how-to-use-external-libraries-in-the-sap-component-model-part-ii
    But, still I am getting Classnotfound exception, when i try to use the jar file in dc applications. There, I posted some queries, but I didnt get any solution.
    Can any one help me on this please.
    Thanks,
    Fahad Hamsa

    Hi  Fahad,
    I am facing the same problem, but am  not able to get the solution.
    I am following the below steps..
    1) Created a Webdynpro DC - "testProj" to which i need to add the external library DC.
    2) Created a DC of type "External Library" called "externaljar"
    3)Added Public Parts of type assembly and compilation to the "externaljar" DC (Component Properties Tab -> Public Parts)
    4) Right click on the  assembly Public Part name -> Manage entities, and added the JAR files as archive.
    5)Right click on the compilation Public Part name -> Manage entities, and added the JAR files as archive.
    6)Go to Webdynpro DC "testProj" .
    Under Component Properties Tab -> Dependencies tab  -> Add -> selected the "externaljar" DC  -> Next ->  for "externaljar" DC checked Deploy time and Run time.
    For assembly Public Part  and compilation Public Part "build" is selected by default.
    7) I did build of both the DC's and deployed it.
    Im getting "Class not found" error.
    Please let me know where i am going wrong.
    Thanks,
    Shilpa.

  • OSGI bundle creation using third party jar files

    Hi,
    I have a requirement to integrate our CQ5.5 based application with a third party. As part of this, I have to use some jar files. After lot of digging, I realised that the way to use external jar files is to create an OSGI bundle wrapping these jar files.
    So, I tried to do the same, but when I see the service details in system/console, I see errors. Can someone please suggest what could have gone wrong?
    I have to use 3 jar files. So, I placed them in lib folder as shown in the screenshot below.
    Ibuilt the bundle using .bnd file. It generated a jar file in install folder and I am able to to see its details in system/console/bundles. When I try to view details of the OSGI bundle that is installed, I see errors as follows:

    Here is my bnd file with all directives:
    Export-Package: *
    Import-Package: *
    Private-Package: *
    # Include-Resource:
    Bundle-Name: External Jar OSGI
    Bundle-Description: This OSGI bundle contains external jar file
    Bundle-SymbolicName: com.self.learning.externaljarosgi
    Bundle-Version: 1.0.0-SNAPSHOT
    Bundle-Activator: com.self.learning.osgi.oauth.Activator
    And here is what is shown in systems/console/bundle:
    Imported Packagesjavax.crypto from org.apache.felix.framework (0)
    javax.crypto.spec from org.apache.felix.framework (0)
    javax.servlet from cqse-httpservice (21)
    javax.servlet.http from cqse-httpservice (21)
    net.oauth -- Cannot be resolved
    net.oauth.client -- Cannot be resolved
    net.oauth.client.httpclient3 -- Cannot be resolved
    net.oauth.client.httpclient4 -- Cannot be resolved
    net.oauth.server -- Cannot be resolved
    net.oauth.signature -- Cannot be resolved
    org.apache.commons.codec.binary from org.apache.commons.codec (46)
    org.apache.commons.httpclient from com.day.commons.osgi.wrapper.commons-httpclient (77)
    org.apache.commons.httpclient.methods from com.day.commons.osgi.wrapper.commons-httpclient (77)
    org.apache.http -- Cannot be resolved
    org.apache.http.client -- Cannot be resolved
    org.apache.http.client.methods -- Cannot be resolved
    org.apache.http.entity -- Cannot be resolved
    org.apache.http.impl.client -- Cannot be resolved
    org.apache.http.params -- Cannot be resolved
    org.apache.http.util -- Cannot be resolved
    org.osgi.framework from org.apache.felix.framework (0)
    org.slf4j from slf4j.api (11)
    Regarding Export-Package, I know the function, class and its package I need to use. Would it be fine if I just export that package instead of using '*'? In such case, if this has dependency on some function in one of the 4 jar files I need to use, how does it get resolved? Do I need to Export those packages as well?

  • Read images from external jar file (Sun's Java L&F Graphics repository)

    Hi!
    I don't know how to read images from an external jar file. Sun has a Java Look and Feel graphics repository that contains a lot of good images that can be used on buttons and so on. This repository is delivered as a jar file, containing only images, and I want to read the image files from that jar file directly without including them inside my application jar file. The application and image jar files will be in the same directory.
    I have absolutely no clue how to solve this. Is it necessary to include the images inside my application jar file or is it possible to have them separate as I want.
    Would really appreciate some help!
    Best regards
    Lars

    Hi,
    There is two ways :
    1) Add your jarfile to the classpath.
    Use the class loader :
    URL url = ClassLoader.getSystemResource("your/package/image.gif");
    Image im = (new ImageIcon(url)).getImage();
    or
    Image im = Toolkit.getDefaultToolkit().getImage(url);2)If you don't want to add the jar to the classpath you can use this (under jdk 1.4):
    import java.util.*;
    import java.util.jar.*;
    import java.awt.*;
    import java.io.*;
    import java.awt.image.*;
    import javax.imageio.*;
    public class ImageUtilities {
         public static Image getImage(String jarFileName, String fileName) {
              BufferedImage image = null;
              try {
                   JarFile jar = new JarFile(new File(jarFileName), false, JarFile.OPEN_READ);
                   JarEntry entry = jar.getJarEntry(fileName);
                   BufferedInputStream stream = new BufferedInputStream(jar.getInputStream(entry));
                   image = ImageIO.read(stream) ;
              catch (Exception ex) {
                   System.out.println(ex);
              return(image);
    }I hope this helps,
    Denis

  • Adding External jar file in webdynpro in CE 7.1 EHP 1

    Hi,
    How to add external jar file in webdynpro component. I am using CE 7.1 EHP 1 SP04 .Public part of external library is used in the webdynpro dc.  I created Enterprise Application and used that in runtime in the wybdynpro dc also.
    I am not getting any error at the time of deploy but at the time of activating getting the following error.
    ERROR: E:\usr\sap\CED\J10\j2ee\cluster\server0\temp\CBS\1\.B\354\t\65FFED04CAA1231EE16A570686EC24D6\gen_wdp\packages\com\sap\home\ovsuser\ovsuserapp\comp\OvsUserComp.java:23: package com.sap.security.api does not exist
         [javac] ERROR: import com.sap.security.api.ISearchAttribute;
         [javac] ERROR:                             ^
         [javac] ERROR: E:\usr\sap\CED\J10\j2ee\cluster\server0\temp\CBS\1\.B\354\t\65FFED04CAA1231EE16A570686EC24D6\gen_wdp\packages\com\sap\home\ovsuser\ovsuserapp\comp\OvsUserComp.java:24: package com.sap.security.api does not exist
         [javac] ERROR: import com.sap.security.api.ISearchResult;
    Please help.
    Raktim

    Hello Raktim
    com.sap.security.api should be available within NWDS plugins and should work fine if you add sap-jee DC as used dc.
    For external jars check this link
    [http://wiki.sdn.sap.com/wiki/display/Java/Externaljarfileerrorand+Solution]
    works fine in netwever 7.01 .
    Regards

  • How do I deploy an external JAR file

    Hello,
    How do I deploy an external JAR file?
    I am grateful for every hint.

    Hi Manuel,
      If you read my blog mentioned in the beginning of the thread, you will note that such solution is not supported in our engine due to number of reasons.
      Please, read the blog and use application library shared among these two applications. You will achieve the same effect. Please note that the using application will need run and deploy-time dependencies to the shared library.
      You should not add files to any of the folders manually or manipulate engine's classpath in such situations.
    Best Regards,
    Georgi

  • Accessing an external jar file

    Hi there,
    Does anyone knows how to acces an external jar file?
    I need to use a jar on another webserver because the jar is using a library.
    Thx...

    I think you can add a classpath
    in the environment variables on windows
    and append the directory of where your jar files
    are located.
    or
    copy the jar files to the C:\j2sdk1.4.0_03\jre\lib\ext
    where j2sdk1.4.0_03 is your javahome directory
    any comments
    just POST here
    Gudluck
    kuks

  • How to use 3rd party jar files for xml transform

    Hi all,
    Am using OAS9.0.4 and I deployed my .ear successfully.
    In my application am using 4 jar files for xml transformation. (xerces.jar, xalan.jar, xml-apis.jar,xercesImpl.jar)
    OAS has its own xmlparserv2.jar file. Its using this jar file for transforming xml data and not even looking for above mentioned 4 jar files.
    In opmn.xml, I provided these 4 jar files in to class path. Then also it didn't effect my output.
    I also tried as put these 4 jar files into j2ee\home\applib directory, but o result.
    Can anybody tell me where should I keep these 4 jar files in OAS and OAS should use these 4 jar files instead of its own xmlparserv2.jar for transforming data.
    Thanks in Anticipation,
    Regards,
    RK

    Add the Xbootclasspath variable in the java-options field. It will somewhat look like the following in your opmn.xml file
    <process-type id="<OC4J Instance Name>" module-id="OC4J">
    <module-data>
    <category id="start-parameters">
    <data id="java-options value="........... -Xbootclasspath^/a:<location of your jar files>" />
    Ensure to use th ^/a (append) signature
    Regards,
    Chirag

  • How to use javap with jar files ?

    how to use javap with jar files ?
    thanks

    As long as the jar is on the class path, your gold. So,
    javap -classpath myjar.jar mypackage.MyClass
    Chuck

  • How to include an external jar file in .EAR project

    Hello All,
    I have created a web service through java class in sap netweaver 7.1.
    For database connection i want to add external jar file as reference. could you all please tell me how to do this or can i get some scenario where it is explained.
    Please Help
    Regards,
    Vanita Jain

    Hi Vanita,
    open your project in nwds > right click on the project > click on properties option from the menu > click on java build path from the left-side navigation of the window > and click on libraries in the right side tab > here you'll get a button called add external jars > clicking to this, will open browser window to select a jar file.
    Regards,
    Sen

Maybe you are looking for