Aspose.words for java の18.12へのバージョンアップで起動しなくなりました

お世話になっております。
Rtfファイルの読み込みができません」の対応、ありがとうございました。適用しようとしたところ、下記の問題が出ておりますので、サポートお願いいたします。

Aspose.wordsのバージョンを17.9(aspose-words-17.9-jdk16.jar)から18.12(aspose-words-18.12-jdk16.jar)に上げたところ、当方で開発しているシステムが起動できなくなってしまいました。
Tomcatを利用しているWebサービスでLinux上に構築しています。

起動時に以下のようなエラーログが出て、正常に起動できません。
Aspose.wordsのバージョンを17.9に戻したところ、問題なく起動するようになりました。
ご確認、修正お願いいたします。
また、回避策ありましたら、ご教授お願い致します。

・バージョン情報
CentOS Linux release 7.5.1804 (Core)
OpenJDK 1.8.0_101
Apache Tomcat Version 8.0.36

・エラーログ(xxxxは伏字)
18-Dec-2018 14:32:43.708 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.36
18-Dec-2018 14:32:43.729 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /opt/apache-tomcat-8.0.36_batch/webapps/xxxx-batch.war
18-Dec-2018 14:32:51.222 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [file:/opt/apache-tomcat-8.0.36_batch/webapps/xxxx-batch/WEB-INF/lib/aspose-words-18.12-jdk16.jar] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:97)
at org.apache.tomcat.util.bcel.classfile.ConstantPool.(ConstantPool.java:55)
at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:176)
at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:85)
at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2042)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1988)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1958)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1912)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1157)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:779)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:306)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5202)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:940)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1816)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

@taka34x

私たちはあなたの質問に取り組んでおり、すぐにあなたに連絡します。

@taka34x

忍耐力ありがとうございます。私たちはシナリオをテストし、同じ問題を私たちの目的のために再現することができました。訂正のために、私たちはこの問題を当社の問題追跡システムに記録しました。この問題のIDはWORDSJAVA-1960です。この問題の詳細をさらに詳しく調べ、訂正のステータスを更新します。ご迷惑をおかけして申し訳ありません。

@taka34x

当社の製品チームはこの問題の分析を完了し、その問題はTomcatのバージョンに起因することが判明しました。したがって、Tomcatを8.0.42以上のバージョンに更新することをお勧めします。
以下の分析の詳細を確認してください:
Apache Commons BCEL(Byte Code Engineering Library)は、Tomcatが注釈をスキャンするために使用します。古いコモンズBCELのバージョンでは、module-info.classファイルの読み方がわかりませんでした。

1 Like

ご対応ありがとうございます。
バージョンアップできないかお客様に相談します。

お世話になっております。
お客様に相談しましたところ、Asposeのライブラリ側に対応してもらえないか連絡してほしいとのご指摘を受けました。
Tomcat Version 8.0.36 でも起動できるように対応して頂くことはできませんでしょうか。

@taka34x

次の回避策を試してください。

  • META-INF / versions / 9 / module-info.classをクラスローディングから除外するようにTomcatを設定します。

お役に立てれば

1 Like

@taka34x

お待ち頂きまして、ありがとうございます。

Apache Commons BCEL(バイトコードエンジニアリングライブラリ)は、注釈をスキャンするためにTomcatによって使用されます。 古いコモンズのBCELバージョンはmodule-info.classファイルの読み方がわかりませんでした。

Tomcatの[変更履歴]を見てください。

修正 60688 からの引用。

Tomcat 8.0.42以降、8.5.12以降、9.0.0以降でこれをサポートするようにCommons BCELが更新されました。

この問題を解決するためにTomcatを8.0.42以降のバージョンに更新することができます。

1 Like