问题在于每个依赖项(维护者)都可以自行决定使用哪个Java版本(1.5、1.6、1.7、1.8等)进行编译,因此无法通过Maven解决。但是您可以确保不使用依赖于您所不希望使用的Java版本的依赖项。
可以通过使用extra-enforcer-rules使用Maven
Enforcer插件来实现:
<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.4.1</version> <!-- find the latest version at http://maven.apache.org/plugins/maven-enforcer-plugin/ --> <executions> <execution> <id>enforce-bytepre-version</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <enforceBytepreVersion> <maxJdkVersion>1.6</maxJdkVersion> <excludes> <exclude>org.mindrot:jbcrypt</exclude> </excludes> </enforceBytepreVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.prehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> <version>1.0-beta-5</version> </dependency> </dependencies> </plugin> </plugins> </build> [...]</project>
如果您的依赖项是使用与所需版本不同的JDK编译的,则这将破坏您的构建。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)