2

我正在使用在 jre 1.5 上运行的 Axway 服务器。所以它接受所有低于 1.6 的分类。但问题是我读 了这个链接 ,我得到了这条线作为指南

环境:* Java Developer Kit (JDK) 1.4.x 或更高版本用于部署,1.5.x (Java 5) 用于编译/构建。从 AMQ 5.5.0 开始,您需要 JDK 1.6.0 才能**

这表示我可以将版本 5.5 以下的 ActiveMQs 用于 jre 1.5。

当我使用 ActiveMQ 5.4.3 时出现错误的类版本错误。请帮助我。

这是出现此错误的行

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

3 回答 3

1

在 maven 存储库中,基于 jdk 1.5 构建的 activemq 的最后一个版本是 5.4.2。

于 2015-03-11T15:29:00.663 回答
1

您可以将 jar 解压缩为 zip 文件,然后查看文件夹内部并检查 META-INF 目录。MANIFEST.MF 文件将告诉您编译 jar 时使用的 jvm 版本。我刚刚拿到了 5.4.3 版本的 activemq jar,它说:

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.6 jvm 构建的。可能需要下载源代码并在 1.5 上手动构建。

于 2013-01-30T21:48:12.710 回答
0

问题是由于新添加的 jar 的 jvm 配置文件条目。

我不知道,我不负责,我无权执行任何与管理员相关的权限。

我将 jar 完全放在 CLASSPATH 中。所以所有类都可以访问它。

但问题是在 JVM 配置文件中我必须输入条目,我的意思是我必须在 axway 的 jvm.config 文件中给出带有 CLASSPATH 的 jar 的名称。虽然我将我的 jar 放在类路径中而没有在 jvm.config 中输入条目,它毫无价值。因为当 jvm 初始化时,它首先检查配置文件以添加 jar。

于 2013-01-02T02:02:53.580 回答