Access to lib inside .jar

I've a signed applet, with some extarnal libraries included in it.
It works ok, but on some computers, it fail, the reason is that one of the classes does not match the number and types of the parameters (java.lang.NoSuchMethodError), as far I know the reason is that the applet, is not using the library included inside the applet .jar, but an external class with the same name (a different version of the library I suppose), so I want to know if there is a way to FORCE that the class I want to use is the one inside the applet .jar file, and no another one?
Perhaps some kind of parameter in the html callint the applet? os some way to build the applet in a different way? (I'm using jBuilder 2006 by the way) altough for newer developed projects I've changed to NetBeans.
Best regards.

The library is i-text and it's not common deployed as far as I know, it's a library for create, work and sign PDFs.
Some users of my applet in the web page, use another local application to sign another types of PDFs and this application uses a previous version of the library, and this application install a copy of the i-text.jar in the java/jre/lib/ext so it has preference and not the one inside my jar.
As I've discover this I can make a workaround to this client, but the general question that arise to me is, if there is a way I can tell the applet "hey, ignore the class com.a.b.c.TheClass if it's found inside java/lib and USE the ONE INSIDE your jar", and I'm asking it in a general way, I think is an interesting question (at least for me).
Someone told me abour jar sealing in this post, I though it was the solution but I could't make it work so my question is if I'm doing something wrong (I've write how I've done it some post up this one), or if jar sealing is not the solution for this and if there is any way to make this, with an applet.
Best regards.

Similar Messages

  • Accessing resource files inside Jar using Fat Jar Eclipse plugin

    Hi,
    I want to develop single JAR file that uses a set of other JAR libraries. I am using Fat Jar Eclipse plugin. It works fine. However, I have problem to access resources files (i.e. rdf file) using relative path from my classes. Is there any idea how can I pack, set classpath and use relative path in order to make it works.
    Thanks
    Zoran

    I have solved this problem. The problem was in a way how I have trying to access it. It should be like:
    URL fileURL = this.getClass().getResource("resource/myFile.rdf");
    Zoran

  • Resources inside JAR - problem

    I have a strange problem with resources inside JARs.
    I can't load any resource form a JAR file (for example a .property file or .png icon).
    It's not a problem with my progams only. JDBC drivers doesn't work because they cannot find .properties files while they work well when, the driver JAR i uncompressed. It happens every time when some resouces are inside JAR library (classes are loade correctly). The same project runs well on my friend's computer while I've got an error on my computer.
    I tried it on WinXP and Win2003 Server - the same. My java version 1.5.0_06-b05 (but I had the same problem with older versions).
    I figured out that I can find a file inside a JAR, open a stream, load data and everything is OK but data is always 0bytes length. For example using:
    ImageIcon myImageIcon = new ImageIcon(getClass().getResource(pathandfilename));
    I get empty ImageIcons without any error.
    Can anyone help me. Maybe I should find something somwhere in java configuration.
    Message was edited by:
    peper

    But can anyone tell me why my servlet can not access the
    contents inside a jar file?? Any suggestions please?
    Thanks.Without seeing your code, it is likely that you are trying to use file names (like /some/path/yourFileName.ext), not resource names (loadable from the class loader) like /yourFileName.ext.
    Example:
    Instead of:
    FileInputStream stream = new FileInputStream("/some/path/yourFileName.ext");
    do this:
    InputStream stream = getClass().getResourceAsStream("/yourFileName.ext");
    There are other API's which take either a string file name or a URL. You want to go the URL way, where the URL is taken from the classpath as:
    URL url = getClass().getResource("/yourFileName.ext");

  • Accessing Video File within .Jar

    Ok, I am creating a project where I am using JMF to display several pre-created videos. The finished project is going to be placed on a cd and submitted in a contest. Because of this, I am compiling the finished project into an executable .jar file. From my previous experiences, I have found that accessing files inside a jar is much more complex than accessing just any old file. The only way I have found to successfully access files inside a jar is through InputStreams (opposed to URLs). This is where my issues begin.
    I have been searching throughout the internet for the past 2 days trying to find any way to create a Player using a type of InputStream. This doesnt seem to be possible the way it is set up. My obsticle here seems to be getting the Manager to realize the File. Here is what I've tried and the errors I got:
    File -- NoPlayerException -- Expected. When creating a file, it doesnt know to look inside the jar for the file, but to the location of the jar instead. Perhaps there is a way to tell URL to look for the file inside the jar. If so, please tell me how.
    File movie = new File("video1.mpeg");
    JOptionPane.showMessageDialog(null, "File: " + movie + "\n URL: " + movie.toURL() + "\n URI: " + movie.toURI() + "\n URL Parsed URI: " + movie.toURI().toURL(), "Error", JOptionPane.ERROR_MESSAGE); //JOptionPane used to display background information while program is running after compiled in .jar
    MediaPanel mediaPanel = new MediaPanel(movie.getURL());
    InputStream -- Compiling Error -- So my primary method of getting Files inside jars are out the window since there is no way to get the URL of InputStreams.
    InputStream movie = getClass().getResourceAsStream("video1.mpeg");
    MediaPanel mediaPanel = new MediaPanel(movie);
    Creating MediaLocator to file location -- java.net.MalformedURLException: no protocol: video1.mpeg -- I assume that basically means I'm screwed.
    MediaLocator movie = new MediaLocator("video1.mpeg");
    JOptionPane.showMessageDialog(null, "File: " + movie + "\n URL: " + movie.getURL(), "Error", JOptionPane.ERROR_MESSAGE);
    MediaPanel mediaPanel = new MediaPanel(movie.getURL());
    Using URL to get into .jar -- NoPlayerException -- No clue about this one. Just tried this a minute ago.
    URL movie = HannibalProject.class.getResource("video1.mpeg");
    JOptionPane.showMessageDialog(null, "URL: " + movie, "Error", JOptionPane.ERROR_MESSAGE); // Displays "URL: jar:file:/G:/Latin/HannibalProject.jar!/video1.mpeg" I do not know if this is correct or not, perhaps someone could tell me.
    MediaPanel mediaPanel = new MediaPanel(movie);If anyone can help me with this, I will be GREATLY appreciative. If anyone needs more information, additional code snippets, ect. please ask and I'll provide what is needed to help me.
    Edited by: Aussiemcgr on Jan 10, 2010 7:03 PM

    And there arises the pain-in-the-ass that is not yet clear to me. For this particular thing, it needs to be an application, not an applet. Which means I have to make it an executable (alternative might be a .bat, havent played with those for anything other than scripts) instead of something embedded. For whatever reasons, this is the efficiency of the school system or whatever the hell it is.
    The simple fact in all of this is that I have no information about the computer this is going to be ran on. Effectively, I am doing this all in the dark right now because I have been given NO guarantee that the computer(s) I attempt to run this on will even have the Java Virtual Environment on it. And, unfortunately, I have no way of finding any of this out because the Computer Program category of these things are not yet been taken seriously so preparation for judging is a last-minute thing.
    Basically, I am wanting to do this with the least amount of possibilities for Murphy's Law (which means I probably shouldnt be using JMF to begin with, but I hate that incomplete feeling) to happen. For the dark abyss I am traveling into, I'm wanting to leave as little external dependencies as possible. For applets, I have to assume that the computer has some sort of browser (sounds stupid, but it is the school system). Not to mention I've designed it from the ground up to work as an application, instead of an applet (roughly 20 hours of work so far, including text research and coding).
    The contest is Jan 30 so the date is approaching real quick. Quite honestly, the more I am looking at it, the more I am starting to consider getting rid of the videos altogether since I am pretty much done with the project with the exception of that. I would have 9 videos total (made only 1 to make sure it would work before making the other 8). The videos itself would only add an additional flair at best, and pretty much guarantee the 1st place for me. My teacher thinks my program's current capabilities, with just a mouse hover and mouse clicking interface with some animated gifs that allows access to several neatly displayed texts, would probably win me first place. However I feel I would go crazy if I actually had legitimate competition for once and lost because I didnt include this damn multimedia. Not to mention I want to include this on my portfolio in the somewhat distant future (along with my Poker Program I finished last month)...I dont know where I'm going with this...

  • Help with APP-INF/lib inside EAR

    I have an EAR task in my ANT script, how do I add jars into APP-INF/
    lib inside EAR ?
    I dont want to create a folder structure in my project, only EAR
    should have
    <EAR root> /APP-INF/lib
    Edited by: Taranfx_com on Oct 12, 2008 4:49 AM

    try using prefer-web-inf-classes in the weblogic.xml file in your WAR file
    or using prefer-application-packages in the weblogic-application.xml file in your EAR.

  • Loading jars inside jars

    I'm currently building a console launcher that automatically fetches the console UI classes from servers and then caches them to client machine. User can then launch console UIs of different kinds of servers using unified launcher.
    My problem is that most of the console UIs are dependant of other libraries and extracting these libs inside the UI jar is not an option. I've tried to package all jars including the console UI application itself into a another jar but hitting the wall currently when I try to accomplish something like this:
    1. Check if disk cache already contains the jar file with md5
    2. If not fetch the jar to disk
    3. Open the jar file
    4. Fetch all jars inside the jar and pass them to new classloader from classloaderpool <- This is where i hit the wall as I can't figure how to make the classloading of jars inside another jar.
    It seems that i can't create JarFile instances from inputstreams but only from specified filenames.
    I tried to use uberjar from codehaus but couldn't figure how to instantiate the main class of the console ui with parameters from inside another application.

    I suddenly find myself with a similar problem. My app is deployed with webstart, but I need to put a jar file in there (edtftpj-1.3.2.jar) so it can use FTP. Where do I put it? Right now it's inside a lib directory, but it's not getting found by the app that calls it.
    Help?
    --- Eric

  • How can I access EJB  through executable jar file?

    Hello buddies!!
    I wonder if anyone could give me an explanation of how accessing EJB through executable jar file?Thanks!!

    Hi there,
    You'll need to install the J2EE SDK on the client and include the <j2ee install dir>\lib\j2ee.jar file in your CLASSPATH along with the Client Jar file that was generated by the deploytool when you deployed the application.
    In your client code the Context properties are as follows:
    Properties p = new Properties();
    p.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
    p.put(Context.PROVIDER_URL, "iiop://hostname:portnumber");
    Context cntx = new InitialContext(p).Hope this helps
    Amanda
    Developer Technical Support
    Sun Microsystems
    http://www.sun.com/developers

  • Acess DB inside jar

    Hai everyone,
    I developed a swing application which uses MS Access ,database.
    I packaged the application as a jar file. I also included the
    database inside the jar. But it is unable to connect to the
    database when the database is inside the jar. If database is ouside
    the jar, the application works fine. I used the following code for the database
    connectivity .
    Is it wrong to pack a database inside jar ?
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String dbPath = getClass().getResource("Test.mdb").getPath();
    dbPath = dbPath.substring(dbPath.indexOf("/")+1);
    String connectionString =
    "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + dbPath;
    System.out.println(dbPath);
    con = DriverManager.getConnection(connectionString);
    stmt = con.createStatement();

    Standard java cannot use a jar that is within another jar. You could write your own classloader, or look at a product named "onejar".
    Here is a tutorial that shows you how to package a NetBeans project so it can be executed outside of NB.
    http://www.netbeans.org/kb/articles/javase-deploy.html

  • How to edit a text file inside jar

    Hi all;
    I have a code that created text file and put this file to other jar archive.
    How can I edit this text file inside jar, add string to this file ?
    Thanks,

    Unpack the jar, edit the file, repack the jar.

  • Using XSLProcessor in $ORACLE_HOME/lib/xmlparserv2.jar giving error in 10g

    Being absolutely frustrated with the generic FOTY 001 fault for any mapping failure I tried looking for different solution in web.I did actually find out some interesting soutions which is to use XSLProcessor class $ORACLE_HOME/lib/xmlparserv2.jar for parsing XML to a partcular XSLT file.It is giving me the actual error with the proper line number for simple XSLT files.But when I try to use one of the PIP transformations it is still throwing errors for aia and xpath functions.For aia:getServiceProperty it can find out the proper attribute from AIAConfigurationProperties.xml and for xref:lookupXREF it is giving class initializer error.I have added both the jar aia.jar and bpm-services.jar to do that.I have also tried to use oraxsl command line utility which comes with oracle xdk but no luck there also.
    In case anyone have been able to use them succesfully please help me out.
    Thanks
    Animesh Roy
    [email protected]

    you have to do the migration one time. Better now than in the future. One day a forms patch will say: Graphics is now obsolete, please migrate.
    To run a 6i graphics service on a 10g platform is (please believe me) the badest way to run your old graphics in the new world.
    its like toothache. you can eliminate them through eating 10 aspirins each day. But you know, that you have to go one day to the dentist...

  • Can I access a label inside of an MC and then go back to the main time line

    Here is my current set up.
    I have a labeled section on main time line which has icons of 12 different videos. Each icon acts as a button and brings a user to a labeled section with a FLV Video Playback component impemented to play the corresponding video. These labeled sections are located on the main time.
    This methog makes my main time line very long. Is there a way to make an additional MC which will hold all the video buttons and then have this MC separated into labeled sections.
    In other words can I access a label inside of an MC and then go back to the main time line?
    My present code for accessing the label located on the main timeline is:
    HowTo_maininfo_mc.theArrangement_btn.addEventListener(MouseEvent.CLICK, theArrangement_btn_amimated_btnDown);
    function theArrangement_btn_amimated_btnDown(event:MouseEvent):void {
    gotoAndPlay("theArrangement");
    How would it look if my label "theArrangement" would be located inside of an MC?
    Is there any specific code if I want to have a close button located on the label inside of an MC and it needs to fire out to a label located on the main timeline?

    Oh, WOW! It is working perfectly now.
    My mistake was that I was specifiying the var sourceVar:String;
    for every single button. It was not clear to me from the first example that it has to be specified only once.
    I made a small test Flash file and everything works now. It still doesn't work on my big flash file, I guess some other code messes it up and I can' not figure what it is exactly.
    I would like to include the OUTPUT error message in hopes that you can spot right away what a mistake could be:
    VideoError: 1000: Unable to make connection to server or to find FLV on server
              at fl.video::VideoPlayer/stop()
              at fl.video::FLVPlayback/stop()
              at acolyteVideos_fla::mainsite_mc_2/stopF2()[acolyteVideos_fla.mainsite_mc_2::frame484:21]
              at flash.display::MovieClip/gotoAndPlay()
              at acolyteVideos_fla::mainsite_mc_2/onClick_GoBackToHowTo2()[acolyteVideos_fla.mainsite_mc_2 ::frame484:13]
    If there is no immediate cure for it, I will go through code line by line. Since it is working on the test it must be something wrong with my main file.
    Additiona question (please let me know if I should paste it as a new thread)
    I have similar set up with UILoader. Where different buttons set up to bring a user to individual labeled sections with individual UILoader. Should it be arranged in the same way that it is only one loader and "var sourceVar:String;" code is the one which brings up different content for each button?

  • Tomcat6 does not load class files from WEB-INF/lib/myjarfile.jar  WHY???

    I have placed my jar file in c:\tomcat6\webapps\my-application\WEB-INF\lib\myjarfile.jar
    But, after restarting tomcat6, when i try to import the class file contained in the myjarfile.jar in a servlet, it says
    ProcessFileUpload.java:4: package test.test1 does not exist
    import test.test1.*;
    ^It clearly tomcat's class loading problem.
    As i unzipped my jar and placed the packagefolder structure to
    c:\tomcat6\webapps\my-application\WEB-INF\classes\testand it works perfectly.
    Anyone knows its workaround? please suggest if any configuration changes is required in tomcat or so.
    Thanks.
    ---Sujoy

    Thank you gimbal2 . There was error in creating the jar file myjarfile.jar.
    But, now I have created it again and placed it in place
    c:\tomcat6\webapps\my-application\WEB-INF\lib\myjarfile.jarand tried to use one on the Class file included within the jar to compile my servlet. But, still I am getting error at servlet compilation time. I want to place executable jar files in
    c:\tomcat6\webapps\my-application\WEB-INF\lib\myjarfile.jar and compile my servlet and execute the servlet.
    I DO NOT WANT TO unzip the jar, placing all unzipped files to
    c:\tomcat6\webapps\my-application\WEB-INF\classes\ folder and comiple my servlet and execute the servlet. But, I am failing to user WEB-INF\lib\ folder facility....please help me why i am not getting class files from WEB-INF\lib\ folder.
    If you please see the small code bit and tell me any possible error that would be very helpful.
    Step 1: my library java file MyClass.java
    package test.test1;
    public class MyClass {
         String myName = "Default return string value";
         public void setMyName(String varName) {
              this.myName = varName;
         public String getMyName() {
              return this.myName;
    }Step2 : Creating jar file of my library class files
    C:\jdk1.6\bin>jar cvf myjarfile.jar test
    added manifest
    adding: test/(in = 0) (out= 0)(stored 0%)
    adding: test/test1/(in = 0) (out= 0)(stored 0%)
    adding: test/test1/MyClass.class(in = 452) (out= 296)(deflated 34%)
    adding: test/test1/MyClass.java(in = 230) (out= 140)(deflated 39%)
    C:\jdk1.6\bin>Step3 : Double checking the created jar file content by listing its content
    C:\jdk1.6\bin>jar tf myjarfile.jar
    META-INF/
    META-INF/MANIFEST.MF
    test/
    test/test1/
    test/test1/MyClass.class
    test/test1/MyClass.java
    C:\jdk1.6\bin>Step4 : Placed myjarfile.jar to
    c:\tomcat6\webapps\my-application\WEB-INF\lib\Step5 : Restarted standalone Tomcat6 in my Windows XP SP2.
    Step6 : Created a simple servlet LibFolderTest.java within my-application\WEB-INF\classes\ folder with code
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import test.test1.*;
    public class LibFolderTest extends HttpServlet {
         public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              MyClass mc = new MyClass();
              out.println(mc.getMyName());
    }Step7 : Tried to compile my servlet LibFolderTest.java and got the following error
    LibFolderTest.java:4: package test.test1 does not exist
    import test.test1.*;
    ^
    LibFolderTest.java:11: cannot find symbol
    symbol  : class MyClass
    location: class LibFolderTest
                    MyClass mc = new MyClass();
                    ^
    LibFolderTest.java:11: cannot find symbol
    symbol  : class MyClass
    location: class LibFolderTest
                    MyClass mc = new MyClass();
                                     ^
    3 errorsThe above servlet compilation error on Step7 is telling me that myjarfile.jar is not loaded by Tomcat6 or not available for use when compiling servlet. I want to use myjarfile.jar from within WEB-INF\lib\ folder but I can not. please help.
    ---Sujoy

  • Classnotfoundexception eventhough the class is inside jar

    Hi guys,
    I encountered weird problem where sometimes it throws classnotfoundexception eventhough the class is inside jar. I terminate the program and start it again then it works fine. I compiled the jar using ant
         <target name="compile" depends="clean" description="">
               <echo message="using java version    : ${java.version}"/>
               <echo message="using ant.java.version: ${ant.java.version}" />          
                 <javac srcdir="${src.dir}"
                        destdir="${build.dir}"
                        debug="on"
                        source="1.5"
                              excludes="com/csg/cs/mud/junit/*"
                 />
                <jar destfile="${mmd.jar}"
                     basedir="${build.dir}"
                     excludes="org/css/cs/mmd/juni*,org/css/cs/mmd/utility/MDDClient.class"
                />          
         </target> it shows :
    *[echo] using java version : 1.5.0_04*
    *[echo] using ant.java.version: 1.5*
    and I deployed this jar to sun solaris (SunOS sg123-456 5.8 Generic_117350-44 sun4u sparc SUNW,Ultra-80) and sun solaris box is using jre1.5.0_06.
    Appreciate any advice please. thanks in advance!
    Cheers,
    Mark
    Edited by: kmthien on Aug 2, 2010 3:05 AM

    Is it public?
    Is it spelt correctly, and the same, in the jar file and the code?
    Is it in its correct package in the jar file?
    Why are you excluding a class from the jar file?

  • /WEB-INF/lib/reports_tld.jar

    /WEB-INF/lib/reports_tld.jar
    Elaboré una pagina JSP en Jdeveloper utilizando el Reports pero me pide /WEB-INF/lib/reports_tld.jar y no se como crearlo.

    1ro que nada te aconsejo que respondas en ingles... este es un foro en esa lengua.
    si tu ingles es malo te sugiero que uses http://babelfish.altavista.com
    2) do you have include the Reports library in yours projects.

  • Access session variable inside AM module

    Is there any way to access session variable inside AM module custom function?
    I created one client interface function in AM and want to access one session variable value inside AM custom function.
    Please suggest.
    Thanks

    Hi
    here i need help to find out right approach,my use case are below
    1.User will login thorough SSO .
    2.Based on used id i need to display user data in table form.
    3.User-id will need to display in right corner of page template ( JSF page with this page template)
    4.user can update/create new table data by pressing update/createinsert button.
    5.Once user press the create new request button,one empty row will popup which have user-id filled automatically (used-id who logged in) and will read only ,so that once user commit the data,DB can update/insert the data with that user-id
    so far i have done point 1,2,4 and 5 like
    1.i created AM preparesession and store the use id.
    2.i have putted whereclause in AM for particular VO and run execute query and able to see particular user data,who logged in.
    4.created servicemethod for createinsert in AM and exposed it ,and set used-is table attribute which i got in AM preparession .Now i am able to see new row with user-id in one column in read only form when
    Is this the right approach ? and now i am not able to do step 3 so how to display same user-id in pagetemplate as this value is available in AM only.

Maybe you are looking for

  • Query Help Plz

    Hi experts: I have a problem with my query, I have 2 series of billing If I want to get a report of a single series that I only get the full amount without detail. I am not throwing well this amount. In fact is bigger It's just that simple add up the

  • Block business partner (vendor) for local purc. org

    Hi, I have a problem regarding, block business partner for local purchase organization. Process: R/3: Transaction MK05, block vendor for ONE purc. org. SRM: Transaction BBPUPDVD. If I activate transaction BP, and look into the purchasing data, the bp

  • Tree in Detailed Navigation - open all sub trees

    Hi, by default, the detailked navigation tree is closed. How can I make, that, by default, all detailed navigation view trees in the detailed navigation panel are open, i.e. expanded, when ou select a menu item? thanks hs

  • Lync + Exchange on Same Server?

    I'm attempting to build a test infrastructure Active Directory + Lync + Exchange. After installing Lync on my Exchange Server, I was unable to connect to Exchange. I don't know for sure that I was able to connect to Exchange before I installed Lync t

  • P20-102 Satellite - Remote Receiver not working after running recovery CD

    Hi, I'm running Windows Media Center Edition and on my P20-102 Satellite notebook. I recently needed to run the recovery CD, the process went fine except that my external remote receiver box supplied with my notebook no longer works. The box was work