我可以找到的Dcoumentation表明jetty 6.1.x应该仍然使用java 1.4.2运行。
然而,如果我下载一个jetty二进制文件和“java -jar start.jar”,我会得到以下变体:
“线程中的异常”主“java.lang.UnsupportedClassVersionError :( org / mortbay / xml / XmlConfiguration)错误的主要版本在偏移= 6”
我已经尝试过从dist.codehouse.org/jetty下载的jetty 6.1.26。我尝试过'hightide'码头发布6.1H.24和hightide-6.1H.8。
我的java是:
$ java -version java版“1.4.2” Java(TM)2运行时环境,标准版(版本2.3) IBM J9 VM(build 2.3,J2RE 1.4.2 IBM J9 2.3 Linux amd64-64 j9vmxa64142ifx-20100113(已启用JIT) J9VM - 20100112_51454_LHdSMr JIT - 20090210_1447ifx1_r8 GC - 200902_24)
我知道这是一个固定的java,但我有一些古老的代码可以运行它。 SAYS jetty 6.1应该在java 1.4上运行。我甚至发现古老的博客帖子说他们用java 1.4运行了jetty 1.6。
那是怎么回事?我做错了什么?
答案 0 :(得分:3)
正如我在http://docs.codehaus.org/display/JETTY/what+JVMs+are+supported上看到的最新Jetty,在JDK 1.4上运行的是6.1.5。所以,你需要获得旧版本的码头。
其他方法是自己从源头编译码头。教程如何在Jetty wiki
上答案 1 :(得分:0)
好的,我明白了。
特别是jetty 6.1.26,以及一般的所有jetty 6.1.x,DO在Java 1.4上运行,并且在官方站点上分发的.jars被编译为与java 1.4一起使用。那为什么不适合我?
使用jetty分发的一些示例webapps不能在1.4下工作,它们不是为1.4编译的。我不知道这是一个包装事故还是什么。
但如果我删除所有示例应用程序,删除./webapps和./contexts中的所有内容,那么股票发行版二进制码头6.1.26版本在1.4以下就可以正常启动,并且在我安装自己的webapps时工作正常。