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

Maven-IntelIJ-switch中的字符串在-source 1.6中不受支持

梁丘弘
2023-03-14

我面临着这个问题,航站楼说:

[错误]无法执行目标组织。阿帕奇。专家插件:maven编译器插件:3.1:project FloAutomation上的编译(默认编译):编译失败[ERROR]/Users/hai/workspace/automation for iPad/src/main/java/Locators/ObjectRepository。-source 1.6[错误](使用-source 7或更高版本在开关中启用字符串)中不支持开关中的java:[19,19]字符串

我检查了JAVA_HOME和JAVA版本,他们说:

$JAVA_HOME/Library/JAVA/JavaVirtualMachines/jdk-9.0.4。jdk/Contents/Home

Java版本

java版本java版本“9.0.4”java(TM)SE运行时环境(build 9.0.4 11)java热点(TM)64位服务器虚拟机(build 9.0.4 11,混合模式)

我还检查了项目的语言级别,它是9.0.4

你能给我一些解决办法吗?谢谢

共有2个答案

唐阳飙
2023-03-14

Java 7中只添加了对字符串类型的开关表达式的支持。因此,您需要设置的最小值是1.7

查看此文档页面了解更多信息。

巫马泓
2023-03-14

添加到你的pom中。xml,然后刷新maven:

<project>
  [...]
  <properties>
    <maven.compiler.source>1.9</maven.compiler.source>
    <maven.compiler.target>1.9</maven.compiler.target>
  </properties>
  [...]
</project>

因为您使用的是Java9,所以值应该是1.9,或者如错误所说:1.7或更高。

 类似资料:
  • 本文向大家介绍Java中Switch Case使用字符串,包括了Java中Switch Case使用字符串的使用技巧和注意事项,需要的朋友参考一下 Java 7的引入增强了Switch的case,即它也支持字符串。 首先,设置一个字符串- 现在,在switch中使用相同的字符串,如下所示- 示例 现在,像平常使用SWITCH CASE一样检查每个字符串是否使用大小写。以下是在Switch Case

  • 我在eclipse的-source 1.5(使用-source 7或更高版本来启用switch中的字符串)中得到了switch中的字符串在运行时不受支持-

  • 本文向大家介绍如何在C#中的switch语句中使用字符串,包括了如何在C#中的switch语句中使用字符串的使用技巧和注意事项,需要的朋友参考一下 switch语句允许针对值列表测试变量是否相等。每个值称为大小写,并针对每个开关大小写检查打开的变量。 示例 这是在switch语句中使用字符串的示例- 输出结果 这将产生以下输出-

  • 我构建了使用spring-boot-autoconfigure来配置spring上下文的库。我在Intelij中通过maven config构建project,它工作得很好,但当我在终端maven中运行时,会出现错误,无法找到任何方法、类等。project是库,所以构建配置不能包括任何主路径。 这是我的maven配置

  • 问题内容: 当我尝试使用Java 7连接URL(支持TLS 1.2且以前与Java 7兼容的供应商URL之一)时,发现以下异常: 这样我就启用了,并且 在那之后我也遇到了同样的问题。然后,我将Java版本升级到8,这样它就可以连接到URL而没有任何SSL问题。 如本博客所述,在Java 8中,默认设置为TLS 1.2,并且可以使用Java 7中的属性调整TLS 1.2 。在Java 7中,如果我根

  • 但是在scala中我需要使用: scala版本是有意义的,因为注释需要一个字符串数组。但是为什么上面的工作在java中,它不应该给出编译时错误吗? 下面的类'ArrayChecker'(我编写了一个类来说明这一点)会导致java编译时错误: