1

我能找到的所有文档都表明,jetty 6.1.x 仍应与 java 1.4.2 一起运行。

然而,如果我下载一个码头二进制文件和“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 version "1.4.2" Java(TM) 2 Runtime Environment, Standard Edition (build 2.3) IBM J9 VM (build 2.3, J2RE 1.4.2 IBM J9 2.3 Linux amd64-64 j9vmxa64142ifx-20100113 (JIT enabled) J9VM - 20100112_51454_LHdSMr JIT - 20090210_1447ifx1_r8 GC - 200902_24)

我知道这是古老的 Java,但我有一些古老的代码可以在上面运行。Everywhere SAYS jetty 6.1 应该在 java 1.4 上运行。我什至发现古老的博客文章说他们确实使用 java 1.4 运行了 jetty 1.6。

那么这是什么一回事?我究竟做错了什么?

4

2 回答 2

3

正如我在http://docs.codehaus.org/display/JETTY/what+JVMs+are+supported上看到的最新的 Jetty,在 JDK 1.4 上运行的是 6.1.5。所以,你需要得到旧版本的码头。

另一种方法是自己从源代码编译码头。教程如何做到这一点在Jetty wiki

于 2011-07-20T02:02:20.783 回答
0

好吧,我想通了。

尤其是 jetty 6.1.26,以及所有的 jetty 6.1.x,都可以在 Java 1.4 上运行,并且在官方网站上分发的 .jar 可以编译为与 Java 1.4 一起使用。

那为什么它对我不起作用?

与 jetty 一起分发的一些示例 webapps 不能在 1.4 下工作,它们不是为 1.4 编译的。我不知道这是包装事故还是什么。

但是,如果我通过删除 ./webapps 和 ./contexts 中的所有内容来删除所有示例应用程序,那么 stock distro binary jetty 6.1.26 版本在 1.4 下可以正常启动,并且在我安装自己的 webapps 时可以正常工作。

于 2011-07-27T19:30:43.423 回答