Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-Ant构建并部署到JBoss失败,原因是不支持ClassVersionError_Java_Jakarta Ee_Ant_Maven Ant Tasks_Jboss 4.0.x - Fatal编程技术网

Java-Ant构建并部署到JBoss失败,原因是不支持ClassVersionError

Java-Ant构建并部署到JBoss失败,原因是不支持ClassVersionError,java,jakarta-ee,ant,maven-ant-tasks,jboss-4.0.x,Java,Jakarta Ee,Ant,Maven Ant Tasks,Jboss 4.0.x,我正试图使用Eclipse中的bundeled Maven Ant脚本构建一个项目并将其部署到JBoss deploy文件夹,但最终JBoss会记录以下内容: nested throwable: (java.lang.UnsupportedClassVersionError: Bad version number in .class file) 本项目使用的软件如下: nested throwable: (java.lang.UnsupportedClassVersionError: Bad

我正试图使用Eclipse中的bundeled Maven Ant脚本构建一个项目并将其部署到JBoss deploy文件夹,但最终JBoss会记录以下内容:

nested throwable: (java.lang.UnsupportedClassVersionError: Bad version number in .class file)
本项目使用的软件如下:

nested throwable: (java.lang.UnsupportedClassVersionError: Bad version number in .class file)
  • 蚂蚁1.6.5
  • Maven Ant任务插件2.1.3
  • JBoss 4.0.5 GA
  • JDK1.4
在Eclipse的Window>Preferences下,我将JDK添加到
Java>installedjres
列表中,并将其设置为默认值,以防万一。在
Project>Properties>Java编译器下
我已经将符合性级别设置为1.4,并且还使用了其他符合性设置,但没有成功

此外,JBoss被设置为使用完全相同的JDK,即Oracle网站上的1.4_03。奇怪的是,Eclipse倾向于将其标识为1.5版。例如,在Java编译器页面上,它说:

选择1.4 compliance时,请确保已安装并激活兼容的JRE(当前为1.5)

谁能给我一些建议我哪里会出错


提前谢谢

这意味着JBoss中的某些类是用不兼容的(较新的)版本编译的 Javac(有更大的主数字)和你的JRE-runungjboss拒绝加载这个

(有问题的类位于stacktrace上的某个位置)


唯一的解决方案是使用较新的JDK来运行JBoss和编译(1.4非常旧,不再支持AFAIK)

我将开始查看您的maven/ant环境属性

Eclipse中的jdk选择仅在ide中使用。在maven属性或ant属性中设置的java_home和其他选项将用于编译和构建


我还将检查您的JAVA_HOME环境变量,就好像它没有在属性文件中显式设置一样,它将从环境中获取。

您需要确保Ant脚本也使用了正确的版本;得到1.5警告有点麻烦——我发现很难相信Eclipse会错误地识别JDK。另外,请记住JDK与JRE不同,因此请仔细检查路径/etc

您还需要确保所有部署的库以及JBoss的库都是用1.4编译的——如果您的项目有依赖项,那么它们的库很可能不是用1.4编译的


另外,说“J2EEJDK1.4”有点让人困惑,因为JavaEE和JavaSE是两个不同的东西,而且您将无法在JDK1.4下运行J2EE1.4,AFAIK。

我使用的JDK是错误的版本。我联系了以前的一位开发人员,他说它肯定应该与JDK1.5Update9一起使用,这让一切都不同了。我忘记了那个模棱两可的错误信息。抱歉搞砸了,伙计们

您必须管理平台,并确保构建选项指定Java4。我会浏览一下Ant脚本,看看它是否包含源代码级别,这将覆盖Eclipse中的任何设置。在javac标记中查找target=“1.5”条目。我检查了Ant构建文件,没有一个文件在javac任务中具有target或source属性。这种Java版本控制的东西仍然让我感到困惑。我需要JDK 1.4版,并从Oracle网站下载了J2EE1.4_03,以确保它还包括JAAS框架。我假设它包括1.4JDK,因此也包括相应的JRE。我错了吗?@Raidok取决于您实际下载的内容——根据下载页面,看起来有一个包含JDK的下载,但它包含JDK1.5。哦,这太糟糕了。这就是我得到的。嗯,Eclipse是对的。