java - 编译文件时可以选择版本号吗?

mas*_*san 1 java version-control compilation

我写了一个java代码并编译它.(foo1.6.class)根据我的搜索,我的本地机器有Java 1.6,我上传的tomcat服务器foo1.6.class只接受版本号1.5这意味着我必须要编译Java 1.5?

我相信这是导致坏版本号错误被抛出的原因如下.

我的问题是,有什么方法可以使用1.5版本号编译我的Java文件?看着javac cmd但看起来它不是选项的一部分.但我不认为删除1.6和安装Java 1.5因为这个原因也不是很好的选择.人们如何应对这种情况?

提前致谢!

exception

javax.servlet.ServletException: Bad version number in .class file (unable to load class resume_builder.ResumeBuilder)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:273)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class resume_builder.ResumeBuilder)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1884)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:889)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1353)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
    java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
    java.lang.Class.getConstructor0(Class.java:2671)
    java.lang.Class.newInstance0(Class.java:321)
    java.lang.Class.newInstance(Class.java:303)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:142)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Run Code Online (Sandbox Code Playgroud)

x4u*_*x4u 10

你可以用javac -target 1.5 -source 1.5.

仅当您还使用不高于目标的源兼容性版本时,Java编译器才允许您使用低于其当前目标版本号的版本(对于低于1.4的源版本,存在执行操作).