1

我的应用程序包含用 Java6 编译的第 3 方 jar (com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar)。我设法在运行 Java5 的 Tomcat 5.5 上使用它,但是当我尝试在 JBoss 5.1 上部署相同的应用程序时 - 我收到错误:

[org.jboss.detailed.classloader.ClassLoaderManager] (main) 加载时出现意外错误:testdata.SomeAnnotation java.lang.UnsupportedClassVersionError: Bad version number in .class file

我意识到这不仅发生在我身上。如此处所述

我的问题:
1)为什么可以在诸如tomcat之类的网络服务器中使用这个jar,但它仍然困扰着Jboss 5.1?
2)为什么 Jboss 类加载器加载应用程序的 Jweaver 实现以用于加载它的框架,而它不使用 Jboss aspectJ 实现。也许我应该将其类加载配置为父优先,它会解决这个问题吗?

4

2 回答 2

2

Java 向后兼容,(Java 5.0 jar 可以在 Java 6 上运行)但不向前兼容(Java 6 jar 不能在 Java 5.0 上使用)

您需要获取为 Java 5.0 编译的第 3 方 Jar 的副本,或者将 Java 版本升级到版本 6 或更高版本。

于 2011-02-07T14:40:47.737 回答
0

有时,我们看到学生HSG修改他们使用的 jdk,为此重新配置他们的环境,但仍然继续发生此异常。这可能会引起相当大的混乱,尤其是当他们从 jdk1.6 切换到 jdk1.5 时。几乎总是,罪魁祸首是一个或几个其他版本的 jboss 正在运行,并且所有传入的请求都调用其中一个(使用较新的 jar)。我们总是检查哪些应用程序正在运行并杀死/关闭所有其他版本的 jboss。

于 2013-09-30T12:08:37.690 回答