Компиляция демоверсии исключения AWS Elastic Beanstalk отсутствует Компилятор Java недоступен - PullRequest
3 голосов
/ 19 февраля 2012

Я собираю демонстрационную версию Amazon Web Services Elastic Beanstalk и пытаюсь запустить ее (локально, на tomcat7) при новой установке Arch linux.

Каждый раз, когда происходит сбой на консоли с помощью:

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 ]

3 голосов
/ 23 февраля 2012

Нашел ответ здесь: https://bbs.archlinux.org/viewtopic.php?id=135775

Пакет Arch tomcat7 не работает.

Я удалил tomcat7:

pacman -R tomcat7

И затем скопировал обычные файлы Tomcat 7 из Apache.org в / usr / share / tomcat7

Теперь все отлично работает.

3 голосов
/ 21 февраля 2012

Arch Linux имеет обычное различие между Java Runtime Environment (JRE) и Java Development Kit (JDK) , как показано для других ОС в Как загрузить и установить готовые пакеты OpenJDK , например, для Debian или Ubuntu:

Пакет openjdk-7- jre содержит только среду выполнения Java. Если вы хотите разрабатывать программы на Java, установите openjdk-7- jdk пакет. [Акцент мой]

Соответствующие имена пакетов OpenJDK , очевидно, несколько неудачны и вводят в заблуждение в этом отношении (хотя и понятно), поскольку оба пакета имеют openjdk в своем названии, но только один фактический JDK - такое же сходство применимо для пакета Arch Linux jre7-openjdk и jdk7-openjdk double.

Таким образом, вам просто нужно установить соответствующий пакет JDK для Arch Linux, и он должен быть в порядке, т. Е. Вероятно jdk7-openjdk в соответствии с поиском в базе данных пакетов Linux Arch для jdk .

Удачи!

...