我正在处理一些依赖于com.sun.javadoc.*
包中的类的第三方代码。这个和其他一些依赖项意味着代码只能用 Sun / Oracle JDK 构建,而不是 OpenJDK 。
我没有删除依赖项的选项,因此如果有人尝试使用不受支持的JDK构建,我希望构建尽早失败,并且容易理解错误消息。
有没有办法在pom文件中强制使用JDK Vendor和JDK Version作为Oracle 1.6 JDK?
修改
感谢carlspring's answer,我设法让这个工作。它没有在所有供应商和VM版本中进行全面测试,但它是一个开始。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>java.vendor</property>
<message>Java Vendor must be Sun/Oracle.</message>
<regex>Sun Microsystems Inc\.</regex>
<regexMessage>Java Vendor must be Sun/Oracle.</regexMessage>
</requireProperty>
<requireProperty>
<property>java.runtime.name</property>
<message>Java Vendor must be Sun/Oracle.</message>
<regex>Java\(TM\) SE Runtime Environment</regex>
<regexMessage>Java Vendor must be Sun/Oracle.</regexMessage>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>