私のプロジェクトでは、Java 7をmaven-compiler-plugin
に使用する予定であり、Mavenコンパイル後にJava 8を使用しているコードはすべてコンパイルできません。Java 7で構成されていてもJava 8コードをコンパイルしているMavenコンパイラプラグイン
私の場合は、Arrays.stream(T[] array)
を使用するファイルがあります。このファイルはJava 8から使用でき、それでも正常にコンパイルされます。以下は、Javaのバージョンを構成するファイルの一部です(pom.xml
)。 Java 7のように構成してもファイルが正常にコンパイルされる理由を一目瞭然にしてください。
pom.xml
については、依存関係などをスキップして、プロパティとビルドのみを一覧表示します。
<properties>
<java.version>1.7</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
そして私は、Java 8の方法を使用したファイルのため、行はこのようなものである
:buffer.append(Arrays.stream(arg).collect(Collectors.joining("/")));
そして、私が欲しいのは、私はJavaのバージョンを設定するので、Mavenの中に7をするということですコンパイルした後、Java 8を使用するファイルは正常にコンパイルされず、 "...はソースレベル1.8以上でのみ許可されます"などのエラーが表示されます。
ありがとうございます!私はそれについてもっと理解しています!本当にすごい説明! – TryMyBest
あなたの答えは正確で詳細です。ありがとう! – sudoz