Java-Ant构建并部署到JBoss失败,原因是不支持ClassVersionError
我正试图使用Eclipse中的bundeled Maven Ant脚本构建一个项目并将其部署到JBoss deploy文件夹,但最终JBoss会记录以下内容: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
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
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是对的。