Compilación de la demostración de AWS Elastic Beanstalk lanzó una excepción sin compilador Java disponible
-
27-10-2019 - |
Pregunta
Estoy compilando la demostración elástica de BeanStalk de Amazon Web Services e intento ejecutarla (localmente, en Tomcat7) en una nueva instalación de Arch Linux.
Cada vez, no se encuentra en la consola con:
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)
¿Qué estoy haciendo mal?
Solución 2
Encontré la respuesta aquí: https://bbs.archlinux.org/viewtopic.php?id=135775
El paquete Arch Tomcat7 está roto.
Desinstalé Tomcat7:
Pacman -R Tomcat7
Y luego copió los archivos Tomcat 7 normales de apache.org a/usr/share/tomcat7
Todo funciona bien ahora.
Otros consejos
Arch Linux presenta la distinción habitual entre el Ambiente de tiempo de ejecución de Java (JRE) paquete y el Kit de desarrollo Java (JDK) Como se muestra para otro sistema operativo en Cómo descargar e instalar paquetes de OpenJDK preBuilt PreBuilt Además, por ejemplo, para Debian o Ubuntu:
El OpenJDK-7-jre El paquete contiene solo el entorno de tiempo de ejecución Java. Si desea desarrollar programas Java, instale OpenJDK-7-jdkpaquete. énfasis mío
Los respectivos nombres de paquetes de Abrejdk Obviamente, son un poco desafortunados y engañosos a este respecto (aunque comprensibles), en la medida en que se presentan ambos paquetes abrejdk En su nombre, pero solo uno el JDK real: la misma similitud se aplica para el Arch Linux jre7-openjdk y jdk7-openjdk paquete doble.
Por lo tanto, simplemente tendrá que instalar el paquete JDK apropiado para Arch Linux y debería estar listo, es decir jdk7-openjdk Según un Arch Linux Package Database Búsqueda de JDK.
¡Buena suerte!