Jerry He created HBASE-16370:
--------------------------------
Summary: 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
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)