Aspose.Words latest release no longer works with WebStart?

I have attempted to upgrade our Webstart-launched application that uses Aspose.Words from from version 13.8 to 14.2. We are signing the new Aspose.Words jar and including it in the JNLP file in the same way that we always have. The Webstart-launched java application gets ClassNotFound exceptions with the new 14.2 Aspose. We experience this same problem with Java 1.6 and 1.7 clients. If we go back the 13.8 Aspose version everything is fine. We are also able to use the 14.2 jar successfully in our development environment where Webstart is not involved. How should we be looking to resolve this issue?

Hi Tad,

Thanks for your inquiry. It would be great if you please share following detail for investigation purposes.


  • Please attach your input Word document.
  • Please share the code for which you are getting exceptions.
  • Please share the screenshot which explain the issue detail
  • What environment are you running on?
  • OS (Windows Version or Linux Version)
  • Architecture (32 / 64 bit)
  • Java version

As soon as you get these pieces of information to us we’ll start our investigation into your issue.

Tahir,

Thank you for following up. The problem is not with a document. It is with accessing the Aspose.Words from an application launched by Webstart. Wherever the applicatoin happens to first attempt to access any Aspose.Words class the application fails with a ClassNotFoundException for the Aspose class (see example below). It fails in Java 1.6 or 1.7. We are using Windows 7 clients and Windows application servers.

We are working to come up with some more specific information to provide you. One area of focus is on the MANIFEST.MF file in the META-INF folder of the Aspose.Words jars, which we notice has some significant changes from version to version of Aspose.Words. Webstart reads this and between changes that Oracle has made to Webstart and Aspose has made to the manifest file there migth be an issue here. I will follow up.

java.lang.NoClassDefFoundError: com/aspose/words/Document
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethod(Unknown Source)
at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
at java.awt.Component.isCoalesceEventsOverriden(Unknown Source)
at java.awt.Component.access$500(Unknown Source)
at java.awt.Component$3.run(Unknown Source)
at java.awt.Component$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Component.checkCoalescing(Unknown Source)
at java.awt.Component.(Unknown Source)
at java.awt.Container.(Unknown Source)
at javax.swing.JComponent.(Unknown Source)
at javax.swing.JPanel.(Unknown Source)
at javax.swing.JPanel.(Unknown Source)
at org.jdesktop.swingx.JXPanel.(JXPanel.java:133)
...
Caused by: java.lang.ClassNotFoundException: com.aspose.words.Document
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)

Hi Tad,

Thanks for sharing the details. I have logged a new Task in our issue tracking system as WORDSJAVA-873 to setup WebStart with Aspose.Words for Java. I will prepare the required platform to simulate the environment as of yours. As soon as everything is setup, we will test the issue at our end and will post the results here for your kind reference.


Thank you for your patience and understanding.

Tahir,

Thank you. I am also working on isolating some tests so that I can provide you with better details about our environment.

-Tad

Hi Tad,

Thanks for your patience.

I have tested the Aspose.Words with Web Start (local execution) and have managed to reproduce the security exception at my side.

For the sake of correction, I have logged this problem in our issue tracking system as WORDSJAVA-875. Our development team will analyze what it takes to work Aspose.Words for Java with WebStart. We will update you via this forum thread once there is any update available on this issue.

We apologize for your inconvenience.

Hi Tad,

Thanks for your patience It is to inform you that our development team has completed the work on the issue (WORDSJAVA-875) and has come to a conclusion that this issue and the undesired behavior you're observing is actually not a bug in Aspose.Words.

Please try the latest version of Aspose.Words for Java 14.8.0 at your side and let us know if you have any more queries.

I have finally gotten back around to working on this, and we continue to have the same problem which is that we cannot get any version of Aspose.Words past 13.9 to work with WebStart. The error we get is the same as originally shown here. We do not have this problem re-signing other jars included in our jnlp so we’re thinking that the obfuscation and/or some kind of custom class loader you might be using is part of the problem?? If your developers could provide some direction on exactly what we need to do for the Aspose.Words jar to be included in our jnlp file in a Java 7/8 environment that could be helpful.

Hi Tad,

Thanks for your inquiry. We don't provide support for older released versions of Aspose.Words. Please note that we do not provide any fixes or patches for old versions of Aspose products either. All fixes and new features are always added into new versions of our products. Please use latest version of Aspose.Words for Java 15.3.0. I am quoting developer's comments about the issue shared in this forum thread:

New manifest attributes were added in v14.1.0. There are Codebase, Permissions, and Application-name attributes. The attributes are parts of the new security feature introduced in 1.7u25. These attributes apply to signed Applets and Java Web Start applications only (i.e. RIA – Rich Internet Applications).

I understand that you don’t support older versions of Aspose.Words jar. I am not asking for support of the older version, just stating that 13.9 is that last version that works for us. ALL later versions do not work, including 13.10 through 15.3.

Let me ask this question another way: What specific steps should we be taking to successfully include the Aspose.Words jar in our jnlp?

Historically we sign the Aspose.Words jar (and all other jars) with a certificate issued to us by Symantec. If we don’t re-sign the jars Webstart fails to load/validate. When we sign the latest Aspose.Words jars, we get the following error after Webstart loads and validates everything, but as the application runs: java.lang.NoClassDefFoundError: com/aspose/words/Document
at java.lang.Class.getDeclaredMethods0

Hi Tad,

Thanks for your inquiry.
twnsc:

What specific steps should we be taking to successfully include the Aspose.Words jar in our jnlp?

There are no specific steps. You just need to include Aspose.Words Jar file in your application. I have created a simple application in Netbeans and enable WebStart. Please check the webstart settings at my end in attached image.

I suggest you please first create a separate simple application to test this issue and share your findings here for our reference.

It would be great if you please share some detail about your complete scenario along with steps to reproduce the same issue at our end. We will investigate the issue on our side and provide you more information.

Ok, I finally solved the NoClassDefFoundError for aspose classes when aspose (post version 13.9) is included as a jnlp resource. I had to remove the Trusted-Only and Trusted-Library attributes from OUR signed jar’s manifest file. I don’t currently understand the repercussions of removing these, but for now that is the fix.

Hi Tad,

Thanks for your feedback. Please feel free to ask if you have any question about Aspose.Words, we will be happy to help you.