2

jre1.5で動作するAxwayサーバーを使用しています。したがって、1.6未満でビルドされたすべてのクラスを受け入れます。しかし、問題は私がこのリンクを読んだことで あり、私はガイドとしてこの行を手に入れました

環境:* Java Developer Kit(JDK)1.4.x以降(デプロイメント用)および1.5.x(Java 5)(コンパイル/ビルド用)。AMQ 5.5.0以降、JDK1.6.0が必要です**

これは、jre1.5のバージョン5.5より前のActiveMQを使用できることを示しています。

ActiveMQ 5.4.3を使用すると、クラスバージョンのエラーが発生します。助けてください。

これは、このエラーが発生している行です

Object o = Class.forName("org.apache.activemq.ActiveMQConnectionFactory", 
                                    true,ConnFactory.class.getClassLoader())
                        .newInstance();
4

3 に答える 3

1

jarファイルをzipファイルとして抽出し、フォルダー内を調べてMETA-INFディレクトリ内を確認することができます。MANIFEST.MFファイルは、jarがコンパイルされたjvmのバージョンを示します。activemq jarの5.4.3バージョンを取得したところ、次のように表示されました。

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: chirino
**Build-Jdk: 1.6.0_26**
Specification-Title: ActiveMQ :: Jar Bundle
Specification-Version: 5.4.3
Specification-Vendor: The Apache Software Foundation
Implementation-Title: ActiveMQ :: Jar Bundle
Implementation-Version: 5.4.3
Implementation-Vendor-Id: org.apache.activemq
Implementation-Vendor: The Apache Software Foundation

これは、1.6jvmで構築されたことを明確に示しています。ソースをダウンロードして、1.5で手動でビルドする必要がある場合があります。

于 2013-01-30T21:48:12.710 に答える
1

Mavenリポジトリでは、jdk1.5で構築されたactivemqの最後のバージョンは5.4.2です。

于 2015-03-11T15:29:00.663 に答える
0

問題は、新しく追加されたjarのjvmconfigファイルエントリが原因です。

私は知りませんし、責任も負いませんし、管理者関連の特権を実行する権限もありません。

jarをCLASSPATHに正確に配置したので、すべてのクラスがそれにアクセスできます。

しかし、問題はJVM構成ファイルにあり、エントリを配置する必要があります。つまり、axwayのjvm.configファイルにCLASSPATHを指定してjarの名前を指定する必要があります。jvm.configにエントリを配置せずにjarをクラスパスに配置しましたが、 jvmが初期化される間、最初に構成ファイルをチェックしてjarを追加するためです。

于 2013-01-02T02:02:53.580 に答える