Load jar from my webapp

Hi!
I would like to load a jar file (antlr.jar) from my web application instead of the jar file loaded by WLS.
How can I do that?
I'm using Node Manager to setup/start/stop the managed server. Wich are the script files that are invoked when the control is made by node manager?
Thanks a lot
A.

Hi,
Inside your "WEB-INF/lib" you need to place your "antlr.jar" file ...then Add the following Tag inside *"weblogic.xml"*...
<prefer-web-inf-classes>true</prefer-web-inf-classes>
In this case the classes available inside antlr.jar will be loaded from your application lib only.
EXAMPLE:
<weblogic-web-app xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”http://www.bea.com/ns/weblogic/90″ xsi:schemaLocation=”http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd”>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
To achieve the same thing at EAR level ...please paste your Antlr.jar inside "EAR_ROOT/APP-INF/lib" directory
and provide the following *"weblogic-application.xml"*
<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<weblogic-application xmlns=”http://www.bea.com/ns/weblogic/90″>
<prefer-application-packages>
<package-name>antlr.*</package-name>
</prefer-application-packages>
</weblogic-application>
=================================
<font color=maroon>I'm using Node Manager to setup/start/stop the managed server. Wich are the script files that are invoked when the control is made by node manager?</font>
If you are asking this question Just to set some classpath or some Memory arguments for your Managed Server which is started using NodeManager then you may want to look into it: http://jaysensharma.wordpress.com/2010/03/26/nodemanager-based-managedservers-setting-mem_args/
Thanks
Jay SenSharma
http://jaysensharma.wordpress.com (WebLogic Wonders Are Here)
Edited by: Jay SenSharma on Mar 29, 2010 8:47 PM

Similar Messages

  • Load jar from jar in applet

    hi i made an applet that read xml files.
    i using in jaxp.jar and in parser.jar currently i put them in ext folder in plug in. is there any other way to put them in my jar applet file and to load them from there.

    The xml stuff is one of the optional packages you can install and belongs in the /ext (extension) folder just like you have it. Possibly, this will be integrated in the v1.4 release, but I'm not sure about that. Anyway, my best advice for you is to follow the instructions Sun gives on exactly this situation:
    http://java.sun.com/j2se/1.3/docs/guide/extensions/extensions.html
    Also on this page is a link to Optional Package Versioning that I highly recommend you read, as it details how the v1.3 plug-in will automatically install the xml jars on the client machine for you. It doesn't get any easier than this! :-)
    -Ron

  • Applet unable to load JARs from URL?

    Please let me preface my query with "I have not done applets ever for live business apps, only for uni and that was over a decade ago..." :)
    I've been doing a lot of reading the last couple days and have been trying to modify a currently existing applet which unfortunately currently depends on libraries being installed in the ext dir on the user's PC (!). I am modifying it such that 1. it will now make a web service call and 2. it will need to include all of the good libraries that come with making web service calls. My other goal is to change the way the applet is loaded (applet tag) so that the libraries need not be pre-installed in the user's ext dir.
    My trouble is, I cannot seem to persuade the applet to load the libraries that co-exist with it. I am loading the applet via a simple test harness page presently, where the HTML file resides in one directory (http://localhost/cis/dictation/test1.html) and the JARs in another (http://localhost/cis/common), but all at the same subdir level under the main web root. I know the applet is loading, as I have a test debug statement which prints out on each invocation.
    Note If I load all of the JARs in the dependency hierarchy into the extensions directory, everything works swimmingly.
    I have tried multiple variations on the applet tag, not completely sure of what it should look like. Please note when I load the URLs into the browser for each individual library, e.g. http://localhost/cis/common/axis.jar, the browser prompts me to download the JARs, so I know the browser can "see" them.
    <applet code="webmedx.client.applet.audio.TransferApplet.class"
         codebase="http://localhost/cis/common/"
         name=TransferApplet      
         width=10 height=10
         archive="audio.jar,axis.jar,jaxrpc.jar,jndi.jar,commons-logging.jar,commons-discovery.jar"
         MAYSCRIPT>
         <PARAM NAME="image" VALUE="images/webmedx_icon-32x32.gif">
         <PARAM NAME="boxmessage" VALUE="Loading the Webmedx Audio Player">
         <PARAM NAME="cache_archive" VALUE="../common/audio.jar">
         <PARAM NAME="DebugLevel" value="1">
         <PARAM NAME="userenterprise" VALUE="BHS">
         <PARAM NAME="userfacility" VALUE="BHS">
         <param name="scriptable" value="true">
    </applet>Using path relative to the browser URL (http://localhost/cis/dictation/test1.html):
    <applet
         codebase="../common"
         archive="audio.jar,axis.jar,jaxrpc.jar,jndi.jar,commons-logging.jar,commons-discovery.jar"
         code="webmedx.client.applet.audio.TransferApplet.class"
         name="TransferApplet"
         width="0" height="0"
         MAYSCRIPT>
         <PARAM NAME="image" VALUE="images/webmedx_icon-32x32.gif">
         <PARAM NAME="boxmessage" VALUE="Loading the Webmedx Audio Player">
         <PARAM NAME="cache_archive" VALUE="../common/audio.jar">
         <PARAM NAME="DebugLevel" value="1">
         <PARAM NAME="userenterprise" VALUE="BHS">
         <PARAM NAME="userfacility" VALUE="BHS">
         <param name="scriptable" value="true">
    </applet>Each of these results in the java console reporting a NCDFE for javax/xml/rpc/Service, which it should be able to locate in http://localhost/cis/common/jaxrpc.jar.
    Then on subsequent page reloads, the java console reports NCDFE's for the newly added class WITHIN the applet jar, webmedx/client/applet/util/cdsproxy/WSAudioArchiveLocator (assuming because it requires javax.xml.rpc.Service, and cannot load it).
    Any ideas/help will be very much appreciated :)
    Edited by: alexx_wmx on Jul 13, 2010 4:17 PM

    ejp wrote:
    Those JARs must be installed in the lib/ext directory of the JRE to work correctly. ..Do they? I am surprised to hear that, but have not dealt with them directly. Why?
    Note that I had asked the OP not to split what I feel is one question, into two threads. The other thread is at.. [http://forums.sun.com/thread.jspa?threadID=5444667], which had itself already been spawned from another thread.
    (sigh..) Following this topic is beginning to make my head hurt.

  • Load JAR from BLOB column?

    I have a JAR file that load and works find when I use the loadjava utility, but my software is now being deployed to a server that I don't have remote access to and can't connect remotely to the Oracle database. I need to push out updated JAR files periodically and would like to automate the updates without requiring help from their DBA.
    Is it possible to load my JAR into a BLOB column in the database and then have it loaded from that? In my testing it appears that I can do that for a single class, but I'd like to do the entire JAR. I've tried CREATE JAVA ... USING BLOB, but that appears to be expecting a character stream (java source).
    My software is on a separate server from the database, so I don't think I can use a BFILE???
    We're using Oracle 10g.
    Thanks!

    Hi
    Sure you can do that :)
    I have done a CMS Application Archive importer into DBPrism CMS.
    Look at the code (importDir function):
    http://dbprism.cvs.sourceforge.net/viewvc/dbprism/cms-2.1/src/com/prism/cms/core/Util.java?revision=1.10&view=markup
    First you has to iterate on each entry of the JAR using ZipInputStream class, then for each entry you can create a temporary BLOB to process each "create java class using .." SQL operations.
    Here a code snipped:
    695 BLOB newContent =
    696 BLOB.createTemporary(conn, true, BLOB
    697 .DURATION_SESSION);
    698 OutputStream ow = newContent.setBinaryStream(1L);
    699 while ((size = jin.read(buff, 0, buff.length)) > 0)
    700 ow.write(buff, 0, size);
    701 ow.flush();
    702 ow.close();
    703 ow = null;
    704 cs.setBLOB(1, newContent);
    705 cs.setString(2,(isResource) ? "java resource" : "java source");
    706 cs.setString(3, classOrResourceName);
    707 cs.registerOutParameter(4,Types.VARCHAR);
    708 try {
    709 cs.executeUpdate();
    710 String loadedClass = cs.getString(4);
    711 if (!isResource)
    712 listOfLoadedClasses.put(loadedClass,classOrResourceName);
    713 log.debug(".importDir - OK loading: "+loadedClass);
    714 } catch (SQLException s) {
    715 log.warn(".importDir - Error loading: "+classOrResourceName,s);
    716 } finally {
    717 newContent.freeTemporary();
    718 }
    cs is:
    674 cs =
    675 (OracleCallableStatement)conn.prepareCall("{ call begin\n" +
    676 " update create$java$lob$table set LOB = ?, loadtime=sysdate where name = 'LOADJAVA/LOB/KEY';\n" +
    677 " execute immediate 'create or replace '||?||' named \"'||?||'\" using ''LOADJAVA/LOB/KEY''';\n" +
    678 " ? := \"NameFromLastDDL\"(0);\n" +
    679 " end }");
    Hope this help, Marcelo.

  • Problem loading Applets from Jar files on 64 bit machine

    I am developing an applet (extends Applet but uses swing components) using JDK 1.6 (Though these problems still happen in JDK 1.7) and I am unable to get the applet to load on a 64 bit machine in most cases. The web server(s) are running on localhost and I am connecting on the same machine using a local network ip address (such as 192.168.*.*)
    Below are all of my test results. Can someone provide a suggestion for repairing this? The Windows Server machine is a clients computer I access to it via remote desktop but I can't do much with it though I do have administrator rights. The Windows 7 machine is my development platform so I have been able to do extensive testing on it.
    This problem is presenting in the following environments when trying to load an applet from JAR files in a HTML document using the Applet or Object tag.
    Windows Server 2008 (Intel Chipset)
    Tested Browsers:
    Internet Explorer 9 (32 bit) - Shows it is blocked by default then simply shows an x when loaded from a web page, same result when loading from local drive.
    Windows 7 Home Premium (AMD Chipset)
    Tested Browsers:
    Firefox 6.0.1 (32 bit) - Java logo shows with spinner, after a few minutes there is finally an error that a class in the jar was not found
    Internet Explorer 9 (32 bit) - Java logo shows with spinner, after a few minutes there is finally an error that a class in the jar was not found
    Internet Explorer 9 (64 bit) - Java logo shows with spinner and most of the windows desktop manager freezes, keyboard is the only thing that responds so you can alt-tab to another app to regain control of the desktop.
    Chrome (32 bit) - Java logo shows with spinner, after a few minutes there is finally an error that a class in the jar was not found
    The only way I have been able to get a Java applet to run on a 64 bit machine are the following ways.
    Firefox 9 nightly (64 bit) works perfectly! Go Firefox!
    Internet Explorer 9 (32 bit) loading directly from drive (c:\...)
    Chrome (32 bit) loading directly from drive (c:\...)
    Firefox 6.0.1 (32 bit) loading directly from drive (c:\....)
    Can someone please help! I've been fighting with this bug for over a week and I can't find anything that will solve it, I have noticed that in some cases if my jar has very little code in it than it will run on the server, but the minute I start adding things to it the jar won't load anymore.

    jschell wrote:
    rritoch wrote:
    I am developing an applet (extends Applet but uses swing components) using JDK 1.6 (Though these problems still happen in JDK 1.7) and I am unable to get the applet to load on a 64 bit machine in most cases.
    To clarify...
    1. You have tried it on 32 bit machine? Exactly which OS?I tested this on Windows Vista Business which is in 32 bit mode and the applets run without any problems
    >
    2. Your only 64 bit tests have involved 2008/Win7?
    If so then I would suspect something with windows not java. Probably permissions.
    The web server(s) are running on localhost and I am connecting on the same machine using a local network ip address (such as 192.168.*.*)
    Yes, I haven't tried running the jars on other operating systems.
    >
    I don't understand that. If you are running on localhost then you should connect to localhost. If running on an IP then you should connect to that. Perhaps you meant that you have tested using both of those?I'm testing using the lan ip address but I'm connecting from the same machine. I've tried localhost and that didn't work so I tried lan ip since that will likely have a different java security context than localhost. At first I was blaming the IIS server but I downloaded the jar directly and using HTTP fox was able to verify that the jar is being sent with the correct mime-type and that the server can upload the jar file without a problem. This leaves me to believe the problem is with Java.

  • How to load jar files from remote location

    Hi all,
    I am trying to load jar files from remote server, from a servlet which is running on OC4j.
    For doing this,First I am getting ClassLoader by using ClassLoader.getSystemClassLoader() and then type casting it to URLClassLoader.
    But by doing it I am getting ClassCastException,because oc4j returns oracle.classloader.PolicyClassLoader instead of java.net.ClassLoader.
    Appreciate if anyone can tell me how to load remote jar files using oracle.classloader.PolicyClassLoader .
    Thanks
    Harish

    Hi,
    I suppose you know about this, but just in case.
    I have used jnpl to load jar files from remote location.
    Rowan

  • Load library from JAR file

    Could I ask you guys a stupid question, please?
    I have a library as an JAR file. I build my application as another JAR file, which includes that library file.
    My manifest file is:
    Manifest-Version: 0.1.0
    Class-Path: lib/mysql-connector-java-3.0.17-ga-bin.jar
    Main-Class: com.myappand the build command:
    jar cvfm hello.jar mymanifest -c com  -c libThe result hello.jar file built OK. But when I run it, I have to copy library file to the same folder to the app file.
    Could you tell me how to load the lib file from hello.jar, instead of the lib file?
    Thanks in advance!
    Best regards,
    Lehoanq

    am I right in thinking you've put the mysql jar inside your application jar? jars don't work like that, I'm afraid. it is possible to write a classloader that will load classes from within a jar-inside-a-jar, but it gets rather complicated and messy and isn't worth the hassle to be honest, anyway. we go to some lengths to keep our software modular and separate. imagine, for instance, that a bug is exposed in the mysql driver you're using, and a new release is needed to fix it. the dependency is rooted inside your application, so the whole shebang has to be re-packaged and re-deployed, whereas if your dependencies were inside a lib folder, all that would be needed is to drop the new version of the mysql driver into the lib directory. think "don't put all your eggs in one basket"
    what you want to do is possible, and there are tools around to do it for you, too, but IMHO it's not worth the effort

  • Loading library from jar file

    Hi all,
    My question is can we load library from jar file using System.load() method.
    ex:
    myJar.jar
    |
    |----com.test.common.Util
    which conatins a method to load library from jar file itself, before that i used to load from File
    |---libraries/MozillaParser/......
    Iam able load from Local system,
    File parserLibraryFile = new File("libraries/MozillaParser" + EnviromentController.getSharedLibraryExtension());
    File mozillaDistBinDirectory = new File("libraries/mozilla.dist.bin."+EnviromentController.getOperatingSystemName());
    MozillaParser.init(parserLibraryFile.getAbsolutePath() , mozillaDistBinDirectory.getAbsolutePath());
    but i am unable to load from jar file
    URL url = ClassLoader.getSystemClassLoader().getResource("libraries/MozillaParser" + EnviromentController.getSharedLibraryExtension());
    URL url1 = ClassLoader.getSystemClassLoader().getResource("libraries/mozilla.dist.bin."+EnviromentController.getOperatingSystemName());
    MozillaParser.init(url.toString(), url1.toString());
    Thanks in advance.

    That's a really confusing post.
    The easiest way to make sure you can use the classes in a jar file is to copy the jar file to the "/jre/lib/ext" subfolder of your JDK. These classes will be visible to all applications.

  • Problem loading image from jar file referenced by jar file

    First, I searched this one and no, I didn't find an answer. Loading images from jar files has been pretty much done to death but my problem is different. Please read on.
    I have my application, a straight up executable running from Eclipse. It uses a jar file, call it JarA. JarA launches a GUI that is located in another jar file. Call it JarB. To recap:
    My application calls JarA -> JarA loads classes from JarB -> JarB looks for images to place in a GUI it wants to show on the screen
    When JarB goes to load an image the following happens:
    java.lang.NullPointerException
         at sun.misc.URLClassPath$3.run(URLClassPath.java:316)
         at java.security.AccessController.doPrivileged(Native Method)
         at sun.misc.URLClassPath.getLoader(URLClassPath.java:313)
         at sun.misc.URLClassPath.getLoader(URLClassPath.java:290)
         at sun.misc.URLClassPath.findResource(URLClassPath.java:141)
         at java.net.URLClassLoader$2.run(URLClassLoader.java:362)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findResource(URLClassLoader.java:359)
         at java.lang.ClassLoader.getResource(ClassLoader.java:977)
         at org.cubrc.gmshell.gui.MainWin.preInit(MainWin.java:152)
         at org.cubrc.gmshell.gui.MainWin.<init>(MainWin.java:135)
    The code from JarB that loads the image looks like this:
              URL[] oSearch = {Main.class.getResource("images/")};
              URLClassLoader oLoader = new URLClassLoader(oSearch);
              imgIcon = new ImageIcon(oLoader.getResource("icon.gif"));
              imgMatchRunning = new ImageIcon(oLoader.getResource("gears.gif"));
              imgMatchStill = new ImageIcon(oLoader.getResource("gears-still.gif"));
              imgMagnify = new ImageIcon(oLoader.getResource("magnify.gif"));This looks right to me and JarB certainly has an images directory with those files. But I'm in hell right now because I don't know where to place the images to make this work or if you can even attempt to load images with a dependency chain like this.
    Any help very appreciated!

    Have you tried to move your image-files out of the jar file and place them in the sam folder as the jar-file? I think that would help.
    When you try to load the image-file you get the NullPointerException because the program tries to read a file it can't find. Remember that a jar file IS a file and not a directory.
    If you want to read somthing inside the jar-file you need to encode it first.
    Have you tried to read the jar-file with winRar. It makes it easy to add and remove files in your jar-file.

  • Loading Exception.jar from NERP

    Hi everyone,
    I am getting XI started on my sytem first time but i have had some problems.
    After i try to start Integration repository , Java webstart is starting and immediately i get this message
    it says " Loading Exception.jar from NERP".
    Read 53k of 11.6M.
    Any suggestions ,
    Thanks
    Deepthi

    Hey everyone,
    I have resolved this on my own.
    I have cleared the IE cache and connected to it through LAN.
    Thank you
    Deepthi

  • Customer ClassLoader:  keeping JWS from loading jars

    I really like the ability of JWS to be able to download jars required for my application to run, but there are several jars that I need the ability to load up via a custom ClassLoader. But because JWS includes all of these jars in the classpath upon application start, the system class loader will take the first class it can find. Because I need to load classes from these jars based upon something a user selects, I need to have control over the codesource for these classes. Does anyone have any ideas on how to tackle this problem? Not include the jars in the jnlp and then download if not cached locally, if that's the case what's the best way to do that? Include in jnlp and be able to load with custom classloader(I dont think this will work)? Any ideas on this would greatly be appreciated.

    Easiest solution to your problem and still being able to use the update mechanism of JWS is to include your JAR-file in another JAR-file that JWS loads, and then write up your own classloader, which tries to fetch your JAR-file from the downloaded JAR-file (if JWS already downloaded it, otherwise JWS will download it).
    The contents of the jws-stub.jar would be something
    of the following ;).
    jws-stub.jar
    --> myjar1.jar
    --> myjar2.jar
    org.myjar.MyJarClassloader
    Then based on your user selecting something you
    can decide which JAR-file you want to load, and thus
    which class.
    Hope this helped,
    Manfred.

  • Loading image from jars only once in oracle forms 10g

    Hi,
    I have an oracle forms 10g application which loads image from a jar. Every time i click on a button "A" that loads the image "image" on another button "B" in the same screen, a message is displayed in the java console "Loaded image: jar:https://+IP+/forms/java/+myjar+.jar!/image.gif". So after 10 clicks, i get the same message displayed 10 times. In the form, i've called:
    SET_CUSTOM_PROPERTY(p_object_name, 1, 'IMAGE_NAME_ON', '/'||p_image_name);My question is the following:
    - is there a way to load this image once and use it later without having to load it every time i clik on "A"? if yes, how?
    P.S.: if this thread shouldn't be posted in this forum, please redirect me to the right one.
    Thanks in advance

    Ah okay.
    I'm using the rolloverbutton.jar (RollOver Button PJC) [RolloverButton.java -> authors: Steve Button, Duncan Mills].
    Here is the part concerning the IMAGE_NAME_ON function:
    // make sure we are in rollover mode
    enableRollover();
    log("setProperty - IMAGE_NAME_ON value=" + value.toString());
    // load the requested image
    m_imageNameOn = (String) value;
    loadImage(ON,m_imageNameOn);
    // reset the currrently drawn image if needed
    setImage(ON,m_state);
    return true;where loadImage function is:
        URL imageURL = null;
        boolean loadSuccess = false;
        //JAR
        log("Searching JAR for " + imageName);
        imageURL = getClass().getResource(imageName);
        if (imageURL != null)
          log("URL: " + imageURL.toString());
          try
            m_images[which] = Toolkit.getDefaultToolkit().getImage(imageURL);
            loadSuccess = true;
            log("Image found: " + imageURL.toString());
          catch (Exception ilex)
            log("Error loading image from JAR: " + ilex.toString());
        else
          log("Unable to find " + imageName + " in JAR");
        //DOCBASE
        if (loadSuccess == false)
          log("Searching docbase for " + imageName);
          try
            if (imageName.toLowerCase().startsWith("http://")||imageName.toLowerCase().startsWith("https://"))
              imageURL = new URL(imageName);
            else
              imageURL = new URL(m_codeBase.getProtocol() + "://" + m_codeBase.getHost() + ":" + m_codeBase.getPort() + imageName);
            log("Constructed URL: " + imageURL.toString());
            try
              m_images[which] = createImage((java.awt.image.ImageProducer) imageURL.getContent());
              loadSuccess = true;
              log("Image found: " + imageURL.toString());
            catch (Exception ilex)
              log("Error reading image - " + ilex.toString());
          catch (java.net.MalformedURLException urlex)
            log("Error creating URL - " + urlex.toString());
        //CODEBASE
        if (loadSuccess == false)
          log("Searching codebase for " + imageName);
          try
            imageURL = new URL(m_codeBase, imageName);
            log("Constructed URL: " + imageURL.toString());
            try
              m_images[which] = createImage((java.awt.image.ImageProducer) imageURL.getContent());
              loadSuccess = true;
              log("Image found: " + imageURL.toString());
            catch (Exception ilex)
                    log("Error reading image - " + ilex.toString());
          catch (java.net.MalformedURLException urlex)
            log("Error creating URL - " + urlex.toString());
        if (loadSuccess == false)
          log("Error image " + imageName + " could not be located");In this case, what shall i modify?
    Thanks in advance

  • Loading resources from jar - problem

    I've got a problem when loading resources from jar.
    My code:
    package game.player;
    import javax.swing.ImageIcon;
    import java.awt.Image;
    import game.map.Map;
    import game.map.MapReader;
    import game.emptyclass.EmptyClass;
    import java.net.URL;
    public class Data
        ClassLoader cl = EmptyClass.class.getClassLoader();
        Image image1 = new ImageIcon(cl.getResource("data/sprites/man6.png")).getImage();
        Image image2 = new ImageIcon(cl.getResource("data/sprites/man5.png")).getImage();
        Image image3 = new ImageIcon(cl.getResource("data/sprites/man4.png")).getImage();
        Image image4 = new ImageIcon(cl.getResource("data/sprites/man3.png")).getImage();
        Image image5 = new ImageIcon(cl.getResource("data/sprites/man2.png")).getImage();
        Image image6 = new ImageIcon(cl.getResource("data/sprites/man1.png")).getImage();
        public Image tile1 = new ImageIcon(cl.getResource("data/maps/test/tile1.png")).getImage();
        public Image bg = new ImageIcon(cl.getResource("data/maps/default/bg.png")).getImage();
        public Map map = new MapReader(cl.getResource("data/maps/test/test.map").getPath()).getMap();
        public int getImageWidth()
            return image1.getWidth(null);
        public int getImageHeight()
            return image1.getHeight(null);
    }I get a NullPointerException.
    Thanks in advance!

    Hi ,
    getResource() method argument is not begin with the
    character '/' , ex.
    Image image1 = new
    ImageIcon(cl.getResource("/data/sprites/man6.png")).ge
    tImage();
    I thought of that, but it's not applicable here because getResource is being called on the ClassLoader, not the Class.

  • Loading icons from a jar

    Hi all,
    I've got my application that loads icons from a relative path, such as "img/tree/menu.png". While running outside the jar it works fine, but when I create a jar of my filesystem I cannot load the icon (i.e., it is not found). The jar of course contains the icons and the relative path.
    Anybody has a clue about?
    Thanks,
    Luca

    I am loading the images for my application. For my application in development phase - I am putting the image in the source folder as well as in the jar file.
    Here is the code I am using
    try
                   URL url = this.getClass().getClassLoader().getResource(imageName);
                   if (url == null)
                        url = new File(imageName).toURL();
                   JLabel logo = new JLabel(new ImageIcon(url));image name is the name of the image say "xyz.gif"
    In the jar file just include the image files and it should work fine.

  • Issues with Loading Images from a Jar File

    This code snippet basically loops through a jar of gifs and loads them into a hashmap to be used later. The images all load into the HashMap just fine, I tested and made sure their widths and heights were changing as well as the buffer size from gif to gif. The problem comes in when some of the images are loaded to be painted they are incomplete it looks as though part of the image came through but not all of it, while other images look just fine. The old way in which we loaded the graphics didn't involve getting them from a jar file. My question is, is this a common problem with loading images from a jar from an applet? For a while I had tried to approach the problem by getting the URL of the image in a jar and passing that into the toolkit and creating the image that way, I was unsuccessful in getting that to work.
    //app is the Japplet
    MediaTracker tracker = new MediaTracker(app);
    //jf represents the jar file obj, enum for looping through jar entries
    Enumeration e = jf.entries();
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    //buffer for reading image stream
    byte buffer [];
    while(e.hasMoreElements())
    fileName = e.nextElement().toString();
    InputStream inputstream = jf.getInputStream(jf.getEntry(fileName));
    buffer = new byte[inputstream.available()];
    inputstream.read(buffer);
    currentIm = toolkit.createImage(buffer);
    tracker.addImage(currentIm, 0);
    tracker.waitForAll();
    images.put(fileName.substring(0, fileName.indexOf(".")), currentIm);
    } //while
    }//try
    catch(Exception e)
    e.printStackTrace();
    }

    compressed files are not the problem. It is just the problem of the read not returning all the bytes. Here is a working implementation:
    InputStream is = jar.getInputStream(entry);
    ByteArrayOutputStream os = new ByteArrayOutputStream(1024);
    try{
    byte[] buf = new byte[1024];
    int read;
    while((read = is.read(buf)) > 0) {
    os.write(buf, 0, read);
    catch(Exception e){
         e.printStackTrace();
         return null;
    image = Toolkit.getDefaultToolkit().createImage(os.toByteArray());
    This works but I think you end up opening the jar a second time and downloading it from the server again. Another way of getting the images is using the class loader:
    InputStream is = MyApplet.class.getResourceAsStream(strImageName);
    In this case, the image file needs to be at the same level than MyApplet.class but you don't get the benefit of enumerating of the images available in the jar.

Maybe you are looking for

  • How do I get the top links in the search results page to display the folder?

    In the search results page, if you click on the top link from each result, it only brings up the description. Not much use as a link, so was wondering how you display the folder from this link.

  • Error - remote stored procedure includes in a function

    Hi, I have a stored procedure, it runs properly ecos.GetCustTier@BSCSDEV in PL/SQL But after included into function F_GETCUSTTIER, it comes error. SQL> select f_getcusttier(585510,'20020808') from dual ORA-06571: Function F_GETCUSTTIER does not guara

  • Directory Watcher is Skipping files

    I've noticed the directory watcher is skipping files when a number of files appear in the directory in less than a minute. The first one or 2 are successfully processed, but the next one(s) are skipped. The timestamps on the files are like:- 10:28:32

  • Error installing AIR

    When trying to install adobe air I get the following message: This application requires Adobe AIR to function. Please download the latest version of the runtime from http://www.adobe.com/go/getair, then launch the application again. I have tried unin

  • Finished my site! but looks wrong in ie 6, anyone have any ideas?

    Hi everyone, i finshed my site excitingweddings, and it looks fine in firefox, but there are several problems in ie which i dont understand. In several of the pages the sidebar gets pushed down below, and sometimes the backgound graphics of the main