我正在使用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中修复此问题?
谢谢!
答案 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平台更改为最新