当前位置: 首页 > 知识库问答 >
问题:

Java类主要版本

闽经纬
2023-03-14

我正在使用sun/oracle jdk 1.6。0_32和javac编译器似乎为目标1.5 jvm而不是1.6创建类文件。它不会接受-source 1.6-Target 1.6。使用javap查看生成的类文件显示一个主要版本:49而不是我所期望的50。Eclipse Indigo正确地创建了1.6兼容的类文件,主要版本为:50。我第一次注意到这一点是在eclipse中使用ant 1.8.2时,无法将源或目标属性设置为1.6。我做错了什么吗?

补遗

我只安装了1个jdk(1.6.0\u 32)。从命令行中,我得到以下内容。

ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ ls -al
total 8
drwxr-xr-x 2 ken ken 4096 2012-06-28 16:50 .
drwxr-xr-x 3 ken ken 4096 2012-06-28 16:46 ..
ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ javac -d /home/ken/projects/simpleHelloWorld/bin -version /home/ken/projects/simpleHelloWorld/src/com/kwcons/HelloWorld.java
javac 1.6.0_32
ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ ls -al
total 12
drwxr-xr-x 2 ken ken 4096 2012-06-28 16:50 .
drwxr-xr-x 3 ken ken 4096 2012-06-28 16:46 ..
-rw-r--r-- 1 ken ken  441 2012-06-28 16:50 HelloWorld.class
ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ /usr/lib/jvm/java-6-sun/bin/javap -verbose HelloWorld |grep major
  major version: 49
ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ 

这就是我使用源和目标时得到的结果。

ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ javac -d /home/ken/projects/simpleHelloWorld/bin -version -source 1.6 -target 1.6 /home/ken/projects/simpleHelloWorld/src/com/kwcons/HelloWorld.java
javac 1.6.0_32
javac: invalid source release: 1.6
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath <path>          Specify where to find user class files
  -cp <path>                 Specify where to find user class files
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -d <directory>             Specify where to place generated class files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system

ken@kryten:~/projects/simpleHelloWorld/bin/com/kwcons$ 

我在eclipse中从ant获得相同的输出。

共有1个答案

蒋寒
2023-03-14

尝试以下操作1)在ant脚本中指定jdk版本

2) 在“compile”目标中编写以下javac目标,

运行时库::它将指向您的项目库目录。在属性中声明。

<javac
bootclasspath="${runtime-libs}/rt.jar"
target="1.6"
source="1.6"
includeJavaRuntime="false"
includeAntRuntime="false"
debug="yes"
destdir="${build-dir}">
<classpath refid="project.class.path"/>
<src path="${code}"/>
</javac>
 类似资料:
  • 问题内容: Java 1.2使用主要版本46 Java 1.3使用主要版本47 Java 1.4使用主要版本48 Java 5使用主要版本49 Java 6使用主要版本50 Java 7使用主要版本51 Java 8使用主要版本52 Java 9使用主要版本53 Java 10使用主要版本54 Java 11使用主要版本55 Java 12使用主要版本56 Java 13使用主要版本57 Java

  • 问题内容: 我无法将Java应用程序作为HTML中的Web小程序启动(我使用的是HTML4.01,我知道它在html5中不起作用)。它返回的错误消息是: java:不支持的major.minor版本52.0 我尝试降级Java JRE / JDK / SDK,但仍然收到相同的错误消息。我正在使用的Java当前版本是1.8.0_05。 问题答案: 使用Java版本1.7或更低版​​本执行代码时,您的

  • 在将 Navicat Monitor 升级到最新的主要版本(例如从 1.x 到 2.x)之前,我们建议你先备份存储库数据库,因为主要升级是不可逆的。 请按照下列步骤 Navicat Monitor: 前往“配置”。 点击“备份、升级或迁移”。 选择“升级到最新的主要版本”。 点击“下载 Monitor 设置 Zip 文件”以备份当前的 Navicat Monitor 设置。 【如果你使用订阅方案,

  • 项目详细信息:使用JavaBridge完成任务的PHP项目。我对这个项目的更新只包含PHP文件。 我已经看到了许多线程。我的java编译版本是JDK1.6,在我的服务器上运行的Java版本是: 我对这在我的设备上本地工作感到非常沮丧,但是当我在服务器上运行它失败时,tomacat日志提供了以下内容:

  • java类文件中的次要版本有什么用途?它真的用到现在了吗?https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html