Maven - 如何验证使用特定Java级别编译的依赖项(例如1.7)?

时间:2015-11-25 15:50:42

标签: maven maven-3

例如,Java Maven项目已编译为maven-compiler-plugin,目标级别为1.7 具有依赖项数

如何验证这些依赖项是否也使用某些特定的Java目标级别编译(例如1.7)?

1 个答案:

答案 0 :(得分:1)

正如评论中所建议的那样,我使用Extra Enforcer Rules作为额外依赖Maven enforcer plugin提供额外规则,作为解决方案。

此功能的使用描述为here,特别是在我的代码中,它看起来像:

   <properties>
        <extra-enforcer-rules>1.0-beta-4</extra-enforcer-rules>
   </properties>

   <dependencies>
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>${extra-enforcer-rules}</version>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>1.4</version>
                    <executions>   
                        <execution>
                            <id>enforce-bytecode-version</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <enforceBytecodeVersion>
                                        <maxJdkVersion>1.7</maxJdkVersion>   
                                    </enforceBytecodeVersion>
                                </rules>
                                <fail>true</fail>
                            </configuration>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>extra-enforcer-rules</artifactId>
                            <version>${extra-enforcer-rules}</version>
                        </dependency>
                    </dependencies>
                </plugin>        
            </plugins>
        </pluginManagement>
    </build>