前提・実現したいこと
Java の Mayaa テンプレートエンジンの動作確認をしたいため、 Alpine linux 3.10 + Tomcat 7 の Docker イメージに war をインストールして起動を試みました。
http://127.0.0.1:8080/ をリクエストすると、Tomcat のデモトップページは表示できるので Java/Tomcat 自体は動いています。ですが、war をデプロイした http://127.0.0.1:8080/mayaa/ にリクエストすると、 HTTP ステータス 500 (java.lang.ArrayIndexOutOfBoundsException: 20993) となります。
この URL を、エラーなく表示させたいです。
Mayaa の war については、こちらの公式ドキュメントを元にインストールしました。
http://mayaa.seasar.org/documentation/install.html
環境
mac os Big Sur 11.1
Dockerfile
Dockerfile
1FROM alpine:3.10 2 3ENV TOMCAT_MAJOR=7 \ 4 TOMCAT_VERSION=7.0.69 \ 5 TOMCAT_HOME=/opt/tomcat \ 6 CATALINA_HOME=/opt/tomcat \ 7 CATALINA_OUT=/dev/null 8 9RUN mkdir -p /opt && \ 10 apk --no-cache add openjdk8-jre curl && \ 11 curl -jksSL -o /tmp/apache-tomcat.tar.gz http://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR}/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz && \ 12 tar -C /opt -xvzf /tmp/apache-tomcat.tar.gz && \ 13 ln -s /opt/apache-tomcat-${TOMCAT_VERSION} ${TOMCAT_HOME} && \ 14 rm -rf /tmp/* /var/cache/apk/* 15 16RUN curl -jksSL -o ${TOMCAT_HOME}/webapps/mayaa.war http://mayaa.seasar.org/downloads/mayaa-getting-started-1.1.32.war 17 18EXPOSE 8080 19ENTRYPOINT [ "/opt/tomcat/bin/catalina.sh", "run" ]
起動スクリプト build-run.sh
build
1#!/usr/bin/env zsh 2 3set -eu 4 5cd "$(dirname $0)" || exit 6 7image_name=ytyng/mayaa-test 8container_name=mayaa-test 9 10docker build . --ssh default -t ${image_name} -f Dockerfile 11 12docker run \ 13 --rm -it \ 14 -p 8080:8080 \ 15 --name=${container_name} ${image_name} "$@"
発生している問題・エラーメッセージ
build-run.sh を実行した時に出るログ (イメージは既にキャッシュ済み)
[+] Building 0.1s (7/7) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 37B 0.0s ... 文字数オーバーとなったので省略 ... INFO: Deploying web application directory /opt/apache-tomcat-7.0.69/webapps/ROOT Dec 31, 2020 3:00:06 AM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deployment of web application directory /opt/apache-tomcat-7.0.69/webapps/ROOT has finished in 27 ms Dec 31, 2020 3:00:06 AM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Dec 31, 2020 3:00:06 AM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Dec 31, 2020 3:00:06 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 1966 ms
ブラウザで http://127.0.0.1:8080/mayaa/ にリクエストした時に追加で出るログ
文字数オーバーで記載できなかったため gist に書きました
https://gist.github.com/ytyng/172dff5f443ef33fa5fd5a656796bb64
SEVERE: Exception while handling error, 20993 java.lang.ArrayIndexOutOfBoundsException: 20993 at org.mozilla.javascript.net.sf.retrotranslator.runtime.asm.ClassReader.readClass(ClassReader.java:1572) at org.mozilla.javascript.net.sf.retrotranslator.runtime.asm.ClassReader.accept(ClassReader.java:341) at org.mozilla.javascript.net.sf.retrotranslator.runtime.asm.ClassReader.accept(ClassReader.java:300) at org.mozilla.javascript.net.sf.retrotranslator.runtime.impl.ClassDescriptor.<init>(ClassDescriptor.java:66) ...文字数制限のため省略... at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)
どうぞよろしくお願いします。
あなたの回答
tips
プレビュー