AWS Elastic Beanstalk デモをコンパイルすると例外がスローされました 利用可能な Java コンパイラがありません
-
27-10-2019 - |
質問
Amazon Web Services Elastic Beanstalk デモをコンパイルし、Arch Linux の新規インストール上で (ローカルの tomcat7 上で) 実行しようとしています。
毎回、コンソールに次のようなエラーが表示されます。
Feb 18, 2012 2:31:41 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [jsp] in context with path [/TryTwo] threw exception [java.lang.IllegalStateException: No Java compiler available] with root cause
java.lang.IllegalStateException: No Java compiler available
at org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:228)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:638)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
# which java /usr/bin/java # java -version java version "1.7.0_03-icedtea" OpenJDK Runtime Environment (IcedTea7 2.1) (ArchLinux build 7.b147_2.1-1-x86_64) OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
私の何が間違っているのでしょうか?
解決 2
ここで答えが見つかりました: https://bbs.archlinux.org/viewtopic.php?id=135775
Arch tomcat7 パッケージが壊れています。
Tomcat7をアンインストールしました。
パックマン -R tomcat7
次に、通常の Tomcat 7 ファイルを Apache.org から /usr/share/tomcat7 にコピーしました。
今ではすべてがうまくいきます。
他のヒント
Arch Linux 間の通常の区別を特徴とします。 Java ランタイム環境 (JRE) パッケージと Java 開発キット (JDK) 他の OS で示されているように 事前に構築された OpenJDK パッケージをダウンロードしてインストールする方法 同様に、例えばDebian または Ubuntu の場合:
openjdk-7-ジュレ パッケージには Java ランタイム環境のみが含まれています。Java プログラムを開発したい場合は、openjdk-7- をインストールしてください。jkパッケージ。 [私のことを強調]
それぞれのパッケージ名は、 OpenJDK 両方のパッケージが機能する限り、この点に関しては明らかに少し残念で誤解を招きます (理解できますが)。 オープンJDK 名前には含まれていますが、実際の JDK は 1 つだけです - 同じ類似性が Arch Linux にも当てはまります jre7-openjdk そして jdk7-openjdk パッケージはダブル。
したがって、Arch Linux に適切な JDK パッケージをインストールするだけで準備完了です。おそらく jdk7-openjdk に従って Arch Linux パッケージ データベースで jdk を検索する.
幸運を!