web-dev-qa-db-ja.com

Java- Diamondタイプは、この言語レベルではサポートされていません

Javaプロジェクトで作業を開始し、IntelliJを使用してGitHubからソースコードをダウンロードしました。これまでIntelliJを使用したことはありませんが、はるかに良いIDEはEclipseよりも使用します(これは、最後にJava開発-約4年前に使用したものです)。

GitHubから最新の作業バージョンを取得して、コンピューター上でローカルにソースをビルドしようとすると、いくつかの異なるコード行でコンパイルエラーが発生します。

エラー:(27、34)Java:ダイヤモンド演算子は-source 1.5ではサポートされていません(ダイヤモンド演算子を有効にするには-source 7以降を使用してください)

これらのコンパイルエラーが表示される行は、次のような行です。

return new ArrayList<>(0);

行を選択して、Alt + Enterエラーでは、次のことができることを示すメッセージが表示されます。

「言語レベルを7-ダイヤモンド、ARM、マルチキャッシュなどに設定します」

ただし、このオプションを選択しても何も起こりません...

の中に pom.xmlファイルには、次のxmlがあります。

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>
<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>${maven-source-plugin.version}</version>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

しかし、このエラーを調べたところ、 この言語レベルではダイヤモンドタイプはサポートされていません で答えが見つかりました。これは、maven1.7以上を使用する必要があることを示し、プロジェクトはすでにバージョン1.8を使用しているため、このコンパイルエラーが発生する理由がわかりません...

誰か提案がありますか?

11
Noble-Surfer

次のコードをpom.xmlファイルに追加します。

<!-- maven-compiler-plugin -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
27
user8936069

File->Project StructureCtrl + Alt + Shift + sProject SettingsというセクションとProjectがあります

ここで、プロジェクトの言語レベルを設定できます。 enter image description here

5
DrLime2k10