Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar

When I run the tomcat, I can see the message (Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar)

My environment

  • java 1.7
  • tomcat 7.0.47
  • aspose-wrods 19.2 (jdk16)

I don’t know why this message occurs. I know that module-info.class is compiled by java 9. but I use classifiier jdk16.
Can I know why does module-info.class includes jar(jdk1.6)?
and How can I solve it…?

my pom.xml dependency

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>19.2</version>
    <classifier>jdk16</classifier>
</dependency>

@emrokr

We suggest you please remove all old references of Aspose.Words from your application and use
following prom.xml.

<repositories>
  <repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
  </repository>
</repositories>

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>19.3</version>
    <classifier>jdk17</classifier>
</dependency>

The smae thing happens.

my pom.xml

<!-- aspose words-->
<repository>
            <id>AsposeJavaAPI</id>
            <name>Aspose Java API</name>
            <url>http://repository.aspose.com/repo/</url>
</repository>
....
		<dependency>
		    <groupId>com.aspose</groupId>
		    <artifactId>aspose-words</artifactId>
		    <version>19.3</version>
		    <classifier>jdk17</classifier>
		</dependency>
....

I’m using tomcat 7.0.47

I guess that if tomcat or other WAS doesn’t support java9, I saw that exception messasge.
but it works well.
=> When I run the tomcat, I can see the message (Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar)

So,
I want to know that I can use WAS that doesn’t support java9 ?
Event though I see a message, is there any problem?

(It occur the same exception message even if Aspose words version is chaned)

@emrokr

This is not an issue in Aspose.Words. Apache Commons BCEL (byte code engineering library) is used by Tomcat to scan annotations. The old Commons BCEL version did not know how to read the module-info.class file.

Look at Tomcat’s [change history].

Quote from fix 60688.

Commons BCEL has been updated to support this on Tomcat 8.0.42 and later, 8.5.12 and later, and 9.0.0 and later.

You can update Tomcat to version 8.0.42 or later to resolve this issue. Moreover, we suggest you please check the following link.

Thank you for answer.

However, if we should use this tomcat version(we can’t update tomcat), Can I ignore this problem?
because though I can see exception message, what we have made is working well.

I’m not sure if I can ignore it because I don’t have any knowledge of this error(java 9 module-info).
If it’s not a big problem, can I use it as it is?
Of course, I will update the tomcat version over time. I want to ask If I can use it until then.

@emrokr

Yes, you can ignore the error. We had the same situation with old version of Caucho Resin and this error does not have any impact on real work of Aspose.Words.

Best regards, Evgeniy

@emrokr

Yes, you can ignore these errors. Please feel free to ask if you have any question about Aspose.Words, we will be happy to help you.

Thank you for answer.
Have a nice day!

Thank you for answer
Have a nice day!