我正在编译一个针对java版本6的jar文件,但是我遇到了一个与不支持的专业相关的错误。次要版本51.0。在阅读了几篇文章之后,比如如何修复java。lang.UnsupportedClassVersionError:不支持的专业。次要版本我无法解决我的问题,并采取极端措施试图隔离问题,如下所述。
我创建了一个java沙盒项目,其目的是测试Xerces For Android jar,这是我从源代码制作的,目标是版本6。如果我将源代码直接放入项目中,我就能够成功地编译和运行我的测试程序。然而,如果我创建了一个jar文件,然后将其添加到构建路径中,我会得到不受支持的主文件。次要版本51.0。
读了几篇文章,不支持的专业。minor 51.0版似乎是基于不同java版本的编译问题。51.0版看起来是java 7。为了简化测试,我从我的机器上卸载了所有Java 7安装,确保我的eclipse项目指向相同的Java 6 JRE,并且我的Java\u主页设置为Java 6u45。我还重新启动了eclipse,以确保我的更改到位。
我正在使用Ant创建jar文件。代码非常简单,我甚至将javac目标指定为1.6。
<project name="XercesForAndroid" default="dist" basedir=".">
<description>
Builds jar for Xerces-For-Android
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init" description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac target="1.6" srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}/lib"/>
<!-- Put everything in ${build} into the .jar file -->
<jar jarfile="${dist}/lib/Xerces-For-Android.jar" basedir="${build}"/>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
运行ant脚本后,我检查了带有7-zip的罐子,发现清单显示使用了6u45来制作它。
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_45-b06 (Sun Microsystems Inc.)
关于我可能缺少什么的想法吗?我不知道如何Java7可以再被引用,但它似乎是基于51.0的引用...
其他几个旁注:
解决方案:
根据Joop Eggen的请求,我以verbose模式运行ant脚本(ant-verbose
如果您使用maven构建项目,请参见下面的内容。确保相应地指定源和目标。当我在1.7中编译时(保留了1.7),发现在amazon beanstalk上是1.6,出现了这个错误
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- http://maven.apache.org/plugins/maven-compiler-plugin/ -->
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
在构建之前,请确保对所有内容进行全面清理。主要的。Jar中的类会发生次要的事情,而不一定是jar本身。
浏览并删除您可以找到的任何. class文件,并从头开始重新编译。
GP是我从这里下载的文件。当我试图运行它时,我收到以下错误: 我该怎么处理?我应该删除JRE并安装较新或较旧的版本吗?
我已经下载了程序: 解压缩它: 进入文件夹并运行: 这是我得到的错误: 我这样做过: 但是同样的错误 我的java版本: javac1.6。0_35 Java版本"1.6.0_35"OpenJDK运行时环境(IcedTea6 1.13.7) (6b35-1.13.7-1~Deb7u1)OpenJDK 64位服务器VM(build 23.25-b01,混合模式) 我读到这篇文章是因为我编译的版本比J
错误:(1,0)原因:com/android/build/gradle/libraryplugin:不受支持的Major.minor版本52.0 存档中 MyPath\AndroidStudioProjects\MyApp\App\libs\ColorPickerPreference\ColorPickerPreference\build.grad 和java版本 java版本“1.7.0_79”
我的pom.xml: 似乎所有的设置都是正确的,我指的是在pom和服务器上的java版本。
当我试图编译我的GWT应用程序时,我得到的异常值低于异常值。知道吗?提前道谢。
我试图按照Kafka网站https://kafka.apache.org/quickstart上的指南操作,但当我使用kafka2.12-2.5.0并尝试启动zookeeper时,我得到了: 我用的是Redhat7.1。尝试更新Java: 我应该有什么版本的Java?