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)