代号为一个构建错误:建议“使用-source 7”

时间:2016-03-01 18:25:50

标签: java eclipse codenameone

我正在使用Eclipse和Codename One。 当我构建我的应用程序时,我收到以下错误:

-----
Buildfile: C:\P\eclipse_workspace\HelloWorld\build.xml

jar:
        [echo] Compile is forcing compliance to the supported API's/features for maximum device compatibility. This allows smaller
        [echo]          code size and wider device support
        [copy] Copying 3 files to C:\P\eclipse_workspace\HelloWorld\build\tmp
       [javac] C:\P\eclipse_workspace\HelloWorld\build.xml:147: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
       [javac] Compiling 39 source files to C:\P\eclipse_workspace\HelloWorld\build\tmp
       [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
       [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
       [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
       [javac] C:\P\eclipse_workspace\HelloWorld\src\com\mycompany\lectures\Starter.java:197: error: strings in switch are not supported in -source 1.5
       [javac]      switch(option){
       [javac]            ^
       [javac]   (use -source 7 or higher to enable strings in switch)
       [javac] Note: Some input files use or override a deprecated API.
       [javac] Note: Recompile with -Xlint:deprecation for details.
       [javac] 1 error
       [javac] 3 warnings

BUILD FAILED
C:\P\eclipse_workspace\HelloWorld\build.xml:147: Compile failed; see the compiler error output for details.

Total time: 1 second
-----

如何在Eclipse中修复此问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

要详细解释原因,请参阅下面的解释。

当您创建一个新的Codename One项目时,它可以是Java 8项目或Java 5项目。如果您的IDE在Java 7下运行,则根本不会显示Java 8选项,并且将创建Java 5项目。将IDE切换到Java 7将在模拟器中工作,但在尝试构建设备时失败!

最好的解决方案是切换到Java 8,你需要验证你的IDE是否在内部使用它,在eclipse中这有点棘手,因为你需要编辑ini file for eclipse

一旦你这样做,你就可以创建一个新项目并选择Java 8.或者你可以编辑项目并将其配置为使用Java 8但是不要忘记添加构建提示{{1} }。

由于代码中包含java.version=8的{​​{1}}语句,您收到此特定错误。 Java 5(编译器使用的目标版本)不支持它。

另一种解决方法是使用switch语句而不是String

答案 1 :(得分:1)

确保您运行的是最新的Java版本Java 8。如有必要,您可以更新here

打开build.xml并执行查找和替换。查找1.5并替换为1.7或1.8(尽管您必须添加build hint`java.version = 8)。

右键点击您的项目,然后选择媒体,从左侧窗格导航至来源,并将来源/二进制格式更改为JDK 7或{{ 1}}(取决于您想要的版本)。

切换到来源下的,并将您的Java平台更改为最新