2012-02-18 78 views
3

我正在編譯Amazon Web Services Elastic Beanstalk演示並嘗試在全新安裝的Arch Linux上運行它(本地,在tomcat7上)。編譯AWS Elastic Beanstalk演示引發異常無Java編譯器可用

每一次,它未能在控制檯:

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) 

我在做什麼錯?

+0

您可能也想嘗試'javac -version'以確保實際上存在Java編譯器 - 大概它根本就沒有安裝,請參閱我的答案[解釋](http://stackoverflow.com/a/9382717/45773)以防萬一。 – 2012-02-21 18:06:13

+0

javac -version給出「javac 1.7.0_03」 – 2012-02-23 03:16:45

回答

3

找到答案在這裏:https://bbs.archlinux.org/viewtopic.php?id=135775

凱旋門tomcat7包壞了。

我卸載tomcat7:

吃豆子-R tomcat7

然後從Apache.org複製正常的Tomcat 7的文件到/ usr /共享/ tomcat7

現在一切工作正常。

+0

+1(然後一些...)爲了跟上你的解決方案,儘管不幸的賞金時機;) – 2012-02-23 10:07:47

3

Arch Linux的特徵在於Java Runtime Environment (JRE)包和Java Development Kit (JDK)之間的普通區別,如How to download and install prebuilt OpenJDK packages中的其他OS所示,例如,爲Debian或Ubuntu:

在OpenJDK -7- JRE包只包含Java運行時環境。 如果您想開發Java程序,然後安裝openjdk-7- jdk 包。 [重點煤礦]

OpenJDK各自的包名顯然在這方面(雖然可以理解)有點不幸和誤導,只要兩個包在其名稱中擁有的OpenJDK,但只有一個實際的JDK - 對於Arch Linux jre7-openjdkjdk7-openjdk包的雙重相同。

因此,你只需要安裝相應的JDK包Arch Linux的,應該是好去,即可能JDK7,OpenJDK的爲每Arch Linux Package Database search for jdk

祝你好運!

+0

我已經安裝了jdk7-openjdk軟件包:#pacman -S jdk7-openjdk給出了「警告:jdk7-openjdk-7.b147_2.1-1是最新的 - 重新安裝「 – 2012-02-23 03:17:50

+1

儘管我非常感謝您的幫助。這裏是整個構建輸出,如果有幫助的話:http://pastebin.com/N3EdWcgm – 2012-02-23 03:24:14