我的maven构建存在问题,因为最近我们更改了java。
我使用java8启动maven构建,我希望我的代码可以用java6编译。所以为此我把它添加到我的pom中:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<optimize>true</optimize>
<compilerVersion>1.6</compilerVersion>
<compilerId>eclipse</compilerId>
<executable>${JAVA_1_6_HOME}/bin/javac</executable>
<verbose>true</verbose>
<fork>true</fork>
<debug>true</debug>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-eclipse</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-compiler-api</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
</plugin>
但是当我启动maven构建时,我遇到了这个只存在于java8中的错误(带有参数()和()的名为spliterator的重复方法继承自List<T>
和Collection<T>
类型。< / p>
你知道为什么我的代码似乎是用java8编译的吗?
(部分日志)
(f) compilerId = eclipse
[DEBUG] (f) compilerVersion = 1.6
[DEBUG] (f) debug = true
[DEBUG] (f) encoding = UTF-8
[DEBUG] (f) executable = C:\Program Files\Java60\java\bin\javac
[DEBUG] (f) failOnError = true
[DEBUG] (f) forceJavacCompilerUse = false
[DEBUG] (f) fork = true
答案 0 :(得分:0)
我认为你应该使用java 8中的编译器。现在你硬编码${JAVA_1_6_HOME}/bin/javac
。使用类似:${JAVA_1_8_HOME}/bin/javac