2011-07-20 7 views
1

私が見つけられる場所には、jetty 6.1.xがjava 1.4.2で動作するはずです。しかしなぜjetty 6.1.xはjava 1.4.2で動作しませんか?

私は桟橋のバイナリ、および "start.jar -jar javaの" ダウンロードした場合、私はのバリエーションを取得:

を「スレッドの例外 "メイン" 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 Runtime Environmentの、標準版(2.3をビルド) IBM J9 VM(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)

私は、これはここにanchient javaのですけど、私は実行するために、いくつかの古代のコードを持っていますその上に。どこでもSAYS Jetty 6.1はJava 1.4で動作するはずです。私は、彼らがjava 1.4でjetty 1.6を走らせたという古代のブログ記事も見つけました。

だから何ですか?私は間違って何をしていますか?

答えて

0

私はそれを理解しました。

jetty 6.1.26特にjetty 6.1.xはすべてJava 1.4で動作し、公式サイトAREに配布されている.jarsはjava 1.4で動作するようにコンパイルされています。

なぜ私にとってはうまくいかなかったのですか?

jettyで配布されているサンプルWebアプリケーションの中には1.4で動作しないものもありますが、1.4用にはコンパイルされていません。私はこれが包装事故かどうかわからない。

しかし、私がすべてのサンプルアプリケーションを削除した場合、./webappsと./contextsのすべてを削除すると、株式ディストリビューションのjetty 6.1.26リリースは1.4より下で正常に起動し、自分のwebappsをインストールするとうまく動作します。

3

http://docs.codehaus.org/display/JETTY/what+JVMs+are+supportedにあるように、JDK 1.4で動作する最新のJettyは6.1.5です。だから、古いバージョンの桟橋を取得する必要があります。

他の方法は、自分でソースから桟橋をコンパイルすることです。チュートリアルどのようにそれを行うにはJetty wiki

+0

jrochkindがUnsupportedClassVersionErrorを指定してソースからコンパイルする必要があるのはほぼ確実です。 – wowest

+0

はい、それは彼が使用する桟橋が新しいjdkに対してコンパイルされていることは明らかです。しかし、桟橋のウィキに関する情報によれば、彼は埠頭の古いバージョンを取ることができます、例えば6.1.5とそれを試してみてください。すでに言ったように、自分で桟橋をコンパイルしてください。 – uthark

+0

6.1.5が最新の6.1だったときにそのページが書かれた可能性があります。メインのダウンロードページ:http://docs.codehaus.org/display/JETTY/Downloading+Jettyには「Jetty-6.1 1.4-1.6」と書かれているので、間違っているかもしれません。おそらく私の経験は間違っているという証拠だと思うかもしれませんが、疑わしいと思うのですが、なぜ主桟橋のダウンロードページにそれが言われ、誰もそれが間違っていることに気付かなかったでしょうか?私はちょうど良いドキュメンテーションの不足/ここで相容れないドキュメンテーションによって困惑しています。 – jrochkind