You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2016/08/07 21:28:20 UTC

[jira] [Commented] (HBASE-16370) Exclude jdk tools.jar from Bytecode Version enforcer

    [ 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)