【问题标题】:IntelliJ complains that I am using java 5 but actually it is Java 12 [duplicate]IntelliJ 抱怨我正在使用 java 5,但实际上它是 Java 12 [重复]
【发布时间】:2020-07-10 09:18:43
【问题描述】:

我正在尝试在 macbook pro 上的 IntelliJ(社区 2019.2)中运行 java 代码。 这是一个非常简单的java代码,我需要测试我是否可以从JavaPairRDD访问first()。 我的java版本:

  12.0.2 

我的java代码:

    import org.apache.spark.SparkContext;
     import org.apache.spark.SparkConf;
     import org.apache.spark.api.java.JavaDoubleRDD;
     import org.apache.spark.api.java.JavaRDD;
      import org.apache.spark.api.java.JavaPairRDD;
      import org.apache.spark.api.java.JavaSparkContext;
      import java.io.IOException;
      import java.net.URL;
      import java.util.ArrayList;
      import java.util.Arrays;
      import java.util.Collections;
            import java.util.List;
            import java.util.concurrent.TimeUnit;
            import java.io.File;

     public class test_java_pair_rdd_from_mvn {

     public static void main(String[] args) {

          SparkConf conf = new SparkConf().setAppName("test").setMaster("local");
          JavaSparkContext sc = new JavaSparkContext(conf);

    JavaDoubleRDD doubleRDD = sc.parallelizeDoubles(Arrays.asList(1.0, 2.0, 3.0, 5.0, 8.0));
    JavaRDD<String> stringRDD = sc.parallelize(Arrays.asList("Hello", "World"));
    JavaPairRDD<String, Double> cartesian = stringRDD.cartesian(doubleRDD);
    cartesian.first();

    cartesian.collect().forEach(test -> {
        System.out.println(test._1);
        System.out.println(test._2);
    });


   }
}

我的 pom.xml:

 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.my_test</groupId>
<artifactId>test_java_rdd</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
    <scala.version>2.10</scala.version>
    <scala.binary.version>2.10</scala.binary.version>
    <java.version>12</java.version>
    <maven.javadoc.skip>true</maven.javadoc.skip>
</properties>

我得到编译错误:

 Error:java: error: release version 5 not supported

为什么它会抱怨这个?我正在使用 java 12。(语言级别 12)

谢谢

【问题讨论】:

  • 这其实是 Maven 做的。 Maven 构建的默认目标级别(如果 POM 未指定任何内容)是 Java 5。POM 文件中有一个“java.version”属性,但这不是 Maven 理解的属性名称。有关在 POM 文件中指定版本的正确方法,请参阅 maven.apache.org/plugins/maven-compiler-plugin/examples/…
  • 请注意,一些父母,尤其是 Spring Boot Parent,确实在适当的配置位置应用java.version

标签: java apache-spark intellij-idea


【解决方案1】:

JDK 版本或语言级别在其中一项设置中的设置会有所不同。 右键单击项目,打开模块设置,从下拉列表中为每个模块选择正确的语言级别。

如果上述方法不适合您,这里有一个详细的过程可能会有所帮助

  1. 转到 IntelliJ IDE 文件菜单项 -> 首选项 -> 构建、执行、部署 -> Java 编译器 确保您选择了正确的编译器版本。

  2. 右击项目,打开模块设置 a) 确保每个模块都有正确的 java 编译器版本 b) 选择平台 > SDK 的 .确保设置了正确的 SDK 并设置了适当的语言级别

  3. 将 jdk 版本添加到您的 pom.xml

   <properties> 
      <maven.compiler.source>12</maven.compiler.source> 
      <maven.compiler.target>12</maven.compiler.target> 
   </properties>
  1. 右键项目,应该有一个叫Maven的项目,里面有一个子菜单项Reimport

应该可以!

【讨论】:

  • 不过,版本应该是12
  • 正确。修复了这个问题
猜你喜欢
  • 2013-01-03
  • 2019-03-17
  • 2023-03-04
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多