2017-12-11 13 views
0

Tomcatに私のアプリケーションを配備する際に問題があります。私は、ドッカーのcontainterにTomcatを持っているのjava -versionは、このような出力が得られます。Tomcat、2つのJavaバージョンと「無効な定数タイプ:18」

openjdk version "1.8.0_151" 
OpenJDK Runtime Environment (IcedTea 3.6.0) (Alpine 8.151.12-r0) 
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) 

アプリが使用して、Windowsマシン上に構築した:

java version "1.8.0_121" 
Java(TM) SE Runtime Environment (build 1.8.0_121-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) 

私が手にアプリを起動しようとすると:

: - もう一つ

Caused by: java.io.IOException: invalid constant type: 18 
    at javassist.bytecode.ConstPool.readOne(ConstPool.java:967) 
    at javassist.bytecode.ConstPool.read(ConstPool.java:910) 
    at javassist.bytecode.ConstPool.<init>(ConstPool.java:127) 
    at javassist.bytecode.ClassFile.read(ClassFile.java:630) 
    at javassist.bytecode.ClassFile.<init>(ClassFile.java:52) 

アプリはWindowsマシン上に構築は、Javaバージョンとサーバー上の完璧に実行されています

openjdk version "1.8.0_151" 
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.16.04.2-b12) 
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) 

この場合、どうすればよいですか? OpenJDKでアプリケーションをビルドしますか?バージョンを変更しますか?

答えて

0

これは正確なJVMのバージョンに関連してはいけません - 定数型 "18"がJava 7以降使用されています。コンテナ/ Tomcatには旧式のjavassistバージョン - 3.16.0-

+0

Tomcatはjavassistと一緒に出荷されません。これはWebアプリケーションの問題であり、Tomcatの問題ではありません。 –

関連する問題