[
https://issues.apache.org/jira/browse/HBASE-16370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15411082#comment-15411082
]
Sean Busbey commented on HBASE-16370:
-------------------------------------
please don't merge this change, it's part of how we make sure we ship the
correct jdk support for releases. building using jdk8 with a target of jdk7
only creates jdk7 compatible bytecode, it doesn't ensure we only use correct
APIs.
> Exclude jdk tools.jar from Bytecode Version enforcer
> ----------------------------------------------------
>
> Key: HBASE-16370
> URL: https://issues.apache.org/jira/browse/HBASE-16370
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 1.2.2
> Reporter: Jerry He
> Assignee: Jerry He
> Priority: Minor
> Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.3
>
> Attachments: HBASE-16370.patch
>
>
> Getting this message trying to do a build with -Prelease:
> {noformat}
> [INFO] Restricted to JDK 1.7 yet jdk.tools:jdk.tools:jar:1.8:system contains
> org/relaxng/datatype/DatatypeLibrary.class targeted to JDK 1.8
> [WARNING] Rule 3: org.apache.maven.plugins.enforcer.EnforceBytecodeVersion
> failed with message:
> HBase has unsupported dependencies.
> HBase requires that all dependencies be compiled with version 1.7 or earlier
> of the JDK to properly build from source. You appear to be using a newer
> dependency. You can use
> either "mvn -version" or "mvn enforcer:display-info" to verify what version
> is active.
> Non-release builds can temporarily build with a newer JDK version by
> setting the
> 'compileSource' property (eg. mvn -DcompileSource=1.8 clean package).
> Found Banned Dependency: jdk.tools:jdk.tools:jar:1.8
> Use 'mvn dependency:tree' to locate the source of the banned dependencies.
> [INFO]
> ------------------------------------------------------------------------
> {noformat}
> My JDK is 1.8. But I wanted to build to target 1.7. So I didn't' have the
> -DcompileSource=1.8.
> The enforcer checks the jdk tools.jar and causes the error because the system
> JDK is 1.8.
> This is a valid build/release use case as long as we support both 1.8 and 1.7.
> We should exclude jdk tools.jar from the enforcer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)