Manipulate a object serialized file when the .class file is missing

I want to know if it is possible to recovery the object when its class file is missing! I guess it needs to manipulate the file and extract the values and ask user to name the values, after that, create a new class file for future use. However, I don't know how to manipulate the object serialized file. I really appreciate any hints you guys can give

I suppose if you created the class file, with the same name, package, and unique serial ID, fields, etc, it can be done.
Another option is to not use serialization if you are just trying to recover the data. Again you would need to know what the datatypes of the fields are to know what it is you are trying to read, how to parse serialized data, etc. Some Objects are easy to read, like Strings. The more complicated ones are the simple datatypes.

Similar Messages

  • How do I make a batch file if the .class file uses a foreign package?

    I am trying to make an MS-DOS batch file using the bytecode file from the Java source file, called AddFields.java. This program uses the package BreezySwing; which is not standard with the JDK. I had to download it seperately. I will come back to this batch file later.
    But first, in order to prove the concept, I created a Java file called Soap.java in JCreator. It is a very simple GUI program that uses the javax.swing package; which does come with the JDK. The JDK is currently stored in the following directory: C:\Program Files\Java\jdk1.6.0_07. I have the PATH environment variable set to the 'bin' folder of the JDK. I believe that it is important that this variable stay this way because C:\Program Files\Java\jdk1.6.0_07\bin is where the file 'java.exe' and 'javac.exe' are stored. Here is my batch file so far for Soap:
    @echo off
    cd \acorn
    set path=C:\Program Files\Java\jdk1.6.0_07\bin
    set classpath=.
    java Soap
    pause
    Before I ran this file, I compiled Soap.java in my IDE and then ran it successfully. Then I moved the .class file to the directory C:\acorn. I put NOTHING ELSE in this folder. then I told the computer where to find the file 'java.exe' which I know is needed for execution of the .class file. I put the above text in Notepad and then saved it as Soap.bat onto my desktop. When I double click on it, the command prompt comes up in a little green box for a few seconds, and then the GUI opens and says "It Works!". Now that I know the concept of batch files, I tried creating another one that used the BreezySwing package.
    After I installed my JDK, I installed BreezySwing and TerminalIO which are two foreign packages that make building code much easier. I downloaded the .zip file from Lambert and Osborne called BreezySwingAndTerminalIO.zip. I extracted the files to the 'bin' folder of my JDK. Once I did this, and set the PATH environment variable to the 'bin' folder of my JDK, all BreezySwing and TerminalIO programs that I made worked. Now I wanted to make a batch file from the program AddFields.java. It is a GUI program that imports two packages, the traditional GUI javax.swing package and the foreign package BreezySwing. The user enters two numbers in two DoubleField objects and then selects one of four buttons; one for each arithmetic operation (add, subtract, multiply, or divide). Then the program displays the solution in a third DoubleField object. This program both compiles and runs successfully in JCreator. So, next I moved the .class file from the MyProjects folder that JCreator uses to C:\acorn. I put nothing else in this folder. The file Soap.class was still in there, but I did not think it would matter. Then I created the batch file:
    @echo off
    cd \acorn
    set path=C:\Program Files\Java\jdk1.6.0_07\bin
    set classpath=.
    java AddFields
    pause
    As you can see, it is exactly the same as the one for Soap. I made this file in Notepad and called it AddFields.bat. Upon double clicking on the file, I got this error message from command prompt:
    Exception in thread "main" java.lang.NoClassDefFoundError: BreezySwing/GBFrame
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    4)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    Caused by: java.lang.ClassNotFoundException: BreezySwing.GBFrame
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    ... 12 more
    Press any key to continue . . .
    I know that most of this makes no sense; but that it only means that it cannot find the class BreezySwing or GBFrame (which AddFields extends). Notice, however that it does not give an error for javax.swing. If I change the "set path..." command to anything other than the 'bin' folder of my JDK, I get this error:
    'java' is not recognized as an internal or external command,
    operable program or batch file.
    Press any key to continue . . .
    I know this means that the computer cannot find the file 'java.exe' which I believe holds all of the java.x.y.z style packages (native packages); but not BreezySwing or any other foreign packages. Remember, I do not get this error for any of the native Java packages. I decided to compare the java.x.y.z packages with BreezySwing:
    I see that all of the native packages are not actually visible in the JDK's bin folder. I think that they are all stored in one of the .exe files in there because there are no .class files in the JDK's bin folder.
    However, BreezySwing is different, there is no such file called "BreezySwing.exe"; there are just about 20 .class files all with names like "GBFrame.class", and "GBActionListener.class". As a last effort, I moved all of these .class files directly into the bin folder (they were originally in a seperate folder called BreezySwingAndTerminalIO). This did nothing; even with all of the files in the same folder as java.exe.
    So my question is: What do I need to do to get the BreezySwing package recognized on my computer? Is there possibly a download for a file called "BreezySwing.exe" somewhere that would be similar to "java.exe" and contain all of the BreezySwing packages?

    There is a lot of detail in your posts. I won't properly quote everything you put (too laborious). Instead I'll just put your words inside quotes (").
    "..there are some things about the interface that I do not like."
    Like +what?+ This is not a help desk, and I would appreciate you participating in this discussion by providing details of what it is about the 'interface' of webstart that you 'do not like'. They are probably misunderstandings on your part.
    "Some of the .jar files I made were so dangerously corrupt, that I had to restart my computer before I could delete them."
    Corrupt?! I have never once had the Java tools produce a corrupt Jar. OTOH, the 'cannot delete' problem might relate to the JRE gaining a file lock on the archive at run-time. If the file lock persisted after ending the app., it suggests that the JRE was not properly shut down. This is a bug in the code and should be fixed. Deploying as .class files will only 'hide' the problem (from casual inspection - though the Task Manager should show the orphaned 'java' process).
    "I then turned to batch files for their simple structure and portability (I managed to successfully transport a java.util containing batch file from my computer to another). This was what I did:
    - I created a folder called Task
    - Then I copied three things into this folder: 1. The file "java.exe" from my JDK. 2. The program's .class file (Count.class). and 3. The original batch file.
    - Then I moved the folder from a removable disk to the second computer's C drive (C:\Task).
    - Last, I changed the code in the batch file...:"
    That is the +funniest+ thing I've heard on the forums in the last 72 hours. You say that is easy?! Some points.
    - editing batch files is not scalable to 100+ machines, let alone 10000+.
    - The fact that Java worked on the target machine was because it was +already installed.+ Dragging the 'java.exe' onto a Windows PC which has no Java will not magically make it 'Java enabled'.
    And speaking of Java on the client machine. Webstart has in-built mechanisms to ensure that the end user has the minimum required Java version to run the app. - we can also use the [deployJava.js|http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deplToolkit] on the original web page, to check for minimum Java before it puts the link to download/install the app. - if the user does not have the required Java, the script should guide them through installing it.
    Those nice features in deployJava.js are available to applets and apps. launched using webstart, but they are not available for (plain) Jar's or loose class files. So if 'ensuring the user has Java' is one of the requirements for your launch, you are barking up the wrong tree by deploying loose class files.
    Note also that if you abandon webstart, but have your app. set up to work from a Jar, the installation process would be similar to above (though it would not need a .bat file, or editing it). This basic strategy is one way that I provide [Appleteer (as a downloadable ZIP archive)|http://pscode.org/appleteer/#download]. Though I side-step your part 1 by putting the stuff into a Jar with the path Appleteer/ - when the user expands the ZIP, the parts of the app. are already in the Appleteer directory.
    Appleteer is also provided as a webstart launched application (and as an applet). Either of those are 'easier' to use than the downloadable ZIP, but I thought I would provide it in case the end user wants to save it to disk and transport the app. to a machine with no internet connection, but with Java (why they would be testing applets on a PC with no internet connection, I am not sure - but the option is there).
    "I know that .jar and .exe files are out because I always get errors and I do not like their interfaces. "
    What on earth are you talking about? Once the app. is on-screen, the end user would not be able to distinguish between
    1) A Jar launched using a manifest.
    2) A Jar launched using webstart.
    3) Loose class files.
    Your fixation on .bat files sounds much like the adage that 'If the only tool you have is a hammer, every job starts to look like a nail'.
    Get over them, will you? +Using .bat files is not a practical way to provide a Java app. to the end user+ (and launching an app. from a .bat looks quite crappy and 'second hand' to +this+ user).
    Edit 1:
    The instructions for running Appleteer as a Jar are further up the page, in the [Running Appleteer: Application|http://pscode.org/appleteer/#application] section.
    Edited by: AndrewThompson64 on May 19, 2009 12:06 PM

  • Cannot print a pdf file when the pdf file is opened in another window

    Running FF8.0 I cannot print a pdf file when the file is contained in a separate window opened by the appl (not just another tab). Options -> options -> applications all point to Use Adobe Applications in Firefox. I've had this problem in 7.0, 6.0, etc but I believe I was finally able to print these external browser/adobe windows somehow. Printing a pdf file shouldn't be that tough. When I run into this situation, file can be printed from the external window by IE.

    Check the document properties (Security) for this file in Adobe Reader; perhaps printing is not allowed?

  • How do I relink my video files when the source files are located in an AVCHD folder structure?

    I am using FCP X 10.1.1 and I was completely done with editing a simple multicam video for a choir track and when I was exporting it it failed. I re-opened FCPX and found that there are several missing files, when I had just been working with them just a second ago! I know about relinking video files, but when I try to locate the source files (knowing where they are), the browser will not let me select ACHD file contents to get at the video files. Also, I cannot open the Library file for my project either.
    Here is a snap shot:

    If it comes down to it, use clip wrap to carve your .mov files out of the SD. I am confused tho - if you were originally able to import all you needed and still have the original media ? Why can't you do it again to add other clips? To "get in" to your Library, control click on it>show paskage... but do NOT MOVE anything only copy.
      Perhaps soeone else can shed light on this?

  • Junk values when decompiling the class file

    Hi All,
    When i decompiling the class file , i am getting junk values i.e <file>.class$java.lang.string and _mtclass$("java.lang.string").
    I am using JAD for decompilation .
    Can any body help.. how remove the junk data

    ya and better part being that its an issue with the tool used for decompilation. Nothing specific to OAF here. Any class file will behave in the same way to this tool.
    --Shiv                                                                                                                                                                                                                                                                                                                                                                   

  • Where to place the class file of the java bean when using the packager

    I am using the activex bridge in j2se 1.5.0_06
    now i have created the jar file for my bean but where do i place the class file?
    i.e the bean..if i keep it in jdk\bin the packager gives me an error..i created a folder in my public jre jre\axbridge\bin and placed the class file there too but even this didnt work
    Kindly tell me what is the fully qualified package bean name if i have placed all my files under jdk\bin..

    D:\Java\jdk1.5.0_06\bin>packager -reg d:\java\jdk1.5.0_06\bin\PersonBean.jar Per
    son
    Processing D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\\Person.idl
    Person.idl
    Processing D:\PROGRA~1\MICROS~2\VC98\INCLUDE\oaidl.idl
    oaidl.idl
    Processing D:\PROGRA~1\MICROS~2\VC98\INCLUDE\objidl.idl
    objidl.idl
    Processing D:\PROGRA~1\MICROS~2\VC98\INCLUDE\unknwn.idl
    unknwn.idl
    Processing D:\PROGRA~1\MICROS~2\VC98\INCLUDE\wtypes.idl
    wtypes.idl
    Registration failed:
    The packaged JavaBean is not located under the directory <jre_home>\axbridge\bin
    this is the error i get

  • When using just the class files

    I have passed my app over to someone else by just passing over the .class files and the dlls and a text file that I need to generate an id.
    Everything seems to be working fine apart from generating the id number I get a blank dialog box with no id inside. Has anyone anyideas why??

    Your question will be very hard to answer, because we don't have a clue how you create the id using the text file. Please explain how you do that, possibly post some source code.
    Jesper

  • Urgent,java Error when compiling class file for jsp

    Hi!
    Reference to statement is ambbiguous,both class java.sql.statement in java.sql and class.java.beans.statement in java beans match.
    this is my file . When i comment the java.import.bean headre it does compile but my server is not able to recognize the class file.,Cud someone help me.
    THis is my source file
    package dbmg;
    //import java.beans.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class DbBean
    Connection con;
    ResultSet rs;
    String sql;
    boolean queryType;
    int edited;
    public DbBean() throws Exception
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:Forums");
    public void setQueryType(String s)
    queryType=s.equalsIgnoreCase("select");
    public void setSql(String s)
    sql = s;
    synchronized public void processRequest(HttpServletRequest req) throws
    Exception
    if (queryType)
    Statement stmt=con.createStatement();
    rs=stmt.executeQuery(sql);
    else
    PreparedStatement ps=null;
    ps=con.prepareStatement(sql);
    int count=0;
    String sqlParam,paramValue;
    boolean set=true;
    while (set)
    count++;
    sqlParam="param"+String.valueOf(count);
         if (sqlParam==null)
              set=false;
              continue;
    paramValue=req.getParameter(sqlParam);
         if (paramValue==null)
    set=false;
    continue;
              else
                   paramValue=paramValue.trim();
    try
                   ps.setString(count,paramValue);
              catch(Exception ex)
                   set=false;
                   continue;
    try
    edited=ps.executeUpdate();
    catch(SQLException e)
    edited=0;
    public Connection getConnection()
    return con;
    public ResultSet getResultSet()
    return rs;
    public int stored()
    return edited;
    public void closeCon() throws Exception
    con.close();
    rs = null;

    No need of commenting your import statement. Whenever there is ambiguity, you can use full class name (with package).
    Like,
    java.sql.Statement stmt=con.createStatement();
    Now there is no ambiguity.
    Sudha

  • How can I hide the class file ??

    Hi !
    I has a question, when i write a program of Java, then use the command "javac" to compiler to class file for other people using, but the class file can be disassembled and convert to source code. How can I hide the class file and let people can not disassemble, or can not see the source code. Thinks

    See these....
    http://www.saffeine.com/
    http://www.jarsafe.com/
    I recently read this. This will help you.
    http://developer.java.sun.com/developer/qow/archive/160/index.jsp
    Enojy....
    Rajesh

  • How to hide the source code from the .class file

    Hi,
    By some jad tool we can recompile the .class files and get the java file corresponding to it. How to protect it?
    Anyone please help me..
    Thanks & Regards,
    N.Ravasankar

    An obfuscator can for example rename classes, variables to meaningless names, like one-letter names. And it can make some bytecode that is hard to decompile or just makes the code less readable when decompiled. Some obfuscators might even be able to do something to the code that makes decompilers not work or incorrect decompile code.

  • Java.lang.AssertionError: WSDL not found in the class file "processes

    Hi,
    I am using WLI 10.3 workshop to build process application. I have designed one JPD which inturn call another process JPD. So i have used worklist process control to create the process and tried to access the process. When i am executing the code, i am getting below error message.
    13-Jun-2011 14:13:00 o'clock BST> <Error> <WLI> <BEA-000000> <Exception processing processes.ISPSSQMsgLisnt
    Java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.bea.wli.knex.runtime.core.dispatcher.DispUnit.loadDispFile(DispUnit.java:219)
    Truncated. see log file for complete stacktrace
    Java.lang.AssertionError: WSDL not found in the class file "processes.ISPSSQMsgLisnt", annotated class = processes.ISPSSQMsgLisnt
    --ClassAnnotations:
    --Method Annotations:
    --Field Annotations:
    can't continue
    at com.bea.wli.knex.runtime.jws.dispatcher.JwsDispClass.<init>(JwsDispClass.java:392)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:65)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:55)
    at com.bea.wli.bpm.runtime.JpdDispFile.createPrimaryDispClass(JpdDispFile.java:382)
    at com.bea.wli.knex.runtime.core.dispatcher.DispFile.<init>(DispFile.java:154)
    Truncated. see log file for complete stacktrace
    xception processing processes.ISPSSQMsgLisnt
    ava.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.bea.wli.knex.runtime.core.dispatcher.DispUnit.loadDispFile(DispUnit.java:219)
    at com.bea.wli.knex.runtime.core.dispatcher.DispUnit.<init>(DispUnit.java:153)
    at com.bea.wli.knex.runtime.core.dispatcher.DispCache.ensureDispUnit(DispCache.java:628)
    at com.bea.wli.knex.runtime.core.dispatcher.DispCache.ensureDispUnitForURI(DispCache.java:1029)
    at com.bea.wli.knex.runtime.core.dispatcher.DispCache.ensureDispUnitForURI(DispCache.java:950)
    at com.bea.wli.broker.JWSSubscriber.getDispClass(JWSSubscriber.java:231)
    at com.bea.wli.broker.JWSSubscriber.getRequest(JWSSubscriber.java:184)
    at com.bea.wli.broker.JWSSubscriber.doDispatch(JWSSubscriber.java:358)
    at com.bea.wli.broker.JWSSubscriber.doDispatch(JWSSubscriber.java:348)
    at com.bea.wli.broker.SubscriptionDispatcher.doDispatch(SubscriptionDispatcher.java:87)
    at com.bea.wli.broker.MessageBroker$PrivilegedSubscriptionDispatcher.run(MessageBroker.java:179)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.security.authentication.AuthenticationService.runAs(AuthenticationService.java:108)
    at com.bea.wli.broker.MsgBrokerSecurityHelper.doDispatch(MsgBrokerSecurityHelper.java:231)
    at com.bea.wli.broker.MessageBroker$PrivilegedSubscriptionDispatcher.doDispatch(MessageBroker.java:165)
    at com.bea.wli.broker.MessageBroker.publishMessage(MessageBroker.java:984)
    at com.bea.wli.mbconnector.jms.JmsConnMDB.publishMBMessage(JmsConnMDB.java:343)
    at com.bea.wli.mbconnector.jms.JmsConnMDB.onMessage(JmsConnMDB.java:475)
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
    at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
    at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    aused by: java.lang.AssertionError: WSDL not found in the class file "processes.ISPSSQMsgLisnt", annotated class = processes.ISPSSQMsgLisnt
    --ClassAnnotations:
    --Method Annotations:
    --Field Annotations:
    can't continue
    at com.bea.wli.knex.runtime.jws.dispatcher.JwsDispClass.<init>(JwsDispClass.java:392)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:65)
    at com.bea.wli.bpm.runtime.JpdDispClass.<init>(JpdDispClass.java:55)
    at com.bea.wli.bpm.runtime.JpdDispFile.createPrimaryDispClass(JpdDispFile.java:382)
    at com.bea.wli.knex.runtime.core.dispatcher.DispFile.<init>(DispFile.java:154)
    at com.bea.wli.knex.runtime.jws.dispatcher.JwsDispFile.<init>(JwsDispFile.java:24)
    at com.bea.wli.bpm.runtime.JpdDispFile.<init>(JpdDispFile.java:108)
    ... 34 more

    Hi
    Are you using wli process control?
    That uses wsdl and could cause the issue.
    I also saw couple of internal bugs CR264315 and CR288904 on the same issue on 9.2.
    Since this is a wli issue could you post in the wli newsgroup to get more answers http://forums.bea.com/forum.jspa?forumID=2047 ?
    Also you can open a BEA support case at http://support.bea.com and an wli support engineer would help you. Please refer to the Cr numbers above in your support case.
    Thanks
    Vimala

  • Get the class file name of the JSP page

    Hi
    I'm wondering how I can get the class name associated with the current JSP page...
    I found on this forum how get the name of current JSP page, but it doesn't help me...
    Thanks

    Hi,
    Sometimes I can be really dumb; of course, the solution is to call the getClass() method on the this object, and eventually store the Class object returned in the SessionBean file if it's necessary (in a SessionBean field/property, or in a parameter of a SessionBean's method).
    Sorry for this thread without any interest. :(

  • How to edit the nbu file when the mobile device is...

    How to edit the nbu file when the mobile device is not connected?
    That software that is available in the nokia site “nokia phone browser” is not useful! Why?
    It is not working unless the mobile device is connected (attached)
    It is quite slow when editing the contacts! (attached)
    Then why the nokia doesn’t offer a simple software that enable us to edit and explore the content of our nbu files?
    Is there some workaround in this regard?
    Is there some software the can edit the nbu files?
    Thank you for the help,
    Best
    Jamal
    Attachments:
    Clip_774.jpg ‏166 KB
    Clip_775.jpg ‏127 KB
    Clip_773.jpg ‏243 KB

    when serializing the DOM, use this: transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, scrReg.dtd");
    Merry Chrasmas too ;-)

  • JNI generated header file does not match the class file

    We have had a JNI project for many years and all has been fine. Within our libraries we have several classes that have inner enum classes.
    Recently we have moved to JDK1.7. Up to now when JNI generated the methods where the signature used the inner enum class, and it was an oveloaded method, we would get something like the following as the signature:
    Java_PackageName_ClassName_methodName_OuterClass_00024InnerEnum_2
    And the class file result of the build would look like the following:
    methodName(OuterClass$InnerEnum)
    Since we have moved to JDK 1.7 the header file looks like the following:
    Java_PackageName_ClassName_methodName_OuterClasss_InnerEnum_2
    The class file is still the same, and because of that when we run the program we get an UnsatisfiedLinkError. I understand that this error is because the VM cannot find the implementation. So why JDK 1.7 generates a header file that does not match the class file?
    Thank you in advance.

    I don't have 1.6 to verify but your statements about what is generated for 1.7 for the header appear correct.
    The 000024 represents the '$' and for 1.7 the inner class is still named using '$'. So for example after compiling in 1.7 the inner class file is named the following...
    MyClass$InnerEnum.class
    So a one to one conversion should have kept the 000024 (presuming it does in fact do it that way in 1.6.)
    You might want to look at the release notes for 1.7.
    If you need a solution you could add a post javah step that renames the file.

  • How to get the class file of jar file

    hello all,
    is there any way to get the class file of jar file,as we have when we compile a java file we get class file
    same do we have any option to get the class file of jar file

    A jar file is a zip archive, so you can uznip it or extract the contents with the command "jar" - if it is what you need.

Maybe you are looking for

  • External Drive Stolen with Time Machine Back Ups

    Hello, Sorry if this has been posted before. I scanned through a few pages of posts and didn't see anything. My home was burglarized and they took my G5, Cinema Display and my 500GB external drive with my Time Machine backup data. My question is: How

  • How to fetch APPROVER NAME  and approval date dynamically for an user

    Hi all.. How to fetch approver name and approval date dynamicall for an user in an email template.. can any help me to sort out this pbm,i am new to IDM.. Thanks in advance..

  • HT1689 App store app is gone from my phone. How do I get it back?

    My App Store app is gone from my phone and I cannot download it from Apple.com. What is my problem?

  • Tomcat problem with FileMaker Server

    I'm not sure if this is an OS X issue or a FileMaker issue, but I'm kind of lost so I hope someone here can help. Something happened to the computer we're running FileMaker Server Advanced on and now I can't get the web part of it to work. I've tried

  • Can not get past program load-up

    The program was working fine however recently I can not move past loading up the program. I access aperture and the program comes up however then I go in to a in-definate loadup and cannot move forward. This all happened after I deleted a project and