You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by lars hofhansl <la...@apache.org> on 2015/05/31 20:08:20 UTC

Building HBase master with JDK8

I have started to get this when I am trying to build hbase-master with JDK8:


[INFO] Restricted to JDK 1.7 yet jdk.tools:jdk.tools:jar:1.7:system contains com/sun/xml/internal/xsom/XSNotation.class targeted to JDK 1.8[WARNING] Rule 2: 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.7
Use 'mvn dependency:tree' to locate the source of the banned dependencies.



This was added with HBASE-13344 in the master branch only. How are we supposed to build with JDK8 now?
When I follow the suggestion (mvn -DcompileSource=1.8) I get other compile errors:


[ERROR] /home/lars/dev/hbase-master/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java:[310,29] no suitable method found for startSpan(java.lang.String,trace ? Sa[...]NEVER)
method org.apache.htrace.Trace.startSpan(java.lang.String,org.apache.htrace.Span) is not applicable
(argument mismatch; bad type in conditional expression
org.apache.htrace.Sampler<capture#1 of ?> cannot be converted to org.apache.htrace.Span)
method org.apache.htrace.Trace.startSpan(java.lang.String,org.apache.htrace.TraceInfo) is not applicable

...

So it seems that right now HBase master cannot be built with JDK8 _at all_. We need to fix this.


-- Lars

Re: Building HBase master with JDK8

Posted by lars hofhansl <la...@apache.org>.
Ahh. Makes sense. Let's apply the addendum there. Didn't realize it wasn't applied, yet. Very timely :)



----- Original Message -----
From: Sean Busbey <bu...@cloudera.com>
To: dev <de...@hbase.apache.org>
Cc: 
Sent: Sunday, May 31, 2015 11:24 AM
Subject: Re: Building HBase master with JDK8

Please see current discussion on HBASE-13344

-- 
Sean
On May 31, 2015 1:08 PM, "lars hofhansl" <la...@apache.org> wrote:

I have started to get this when I am trying to build hbase-master with JDK8:


[INFO] Restricted to JDK 1.7 yet jdk.tools:jdk.tools:jar:1.7:system
contains com/sun/xml/internal/xsom/XSNotation.class targeted to JDK
1.8[WARNING] Rule 2:
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.7
Use 'mvn dependency:tree' to locate the source of the banned dependencies.



This was added with HBASE-13344 in the master branch only. How are we
supposed to build with JDK8 now?
When I follow the suggestion (mvn -DcompileSource=1.8) I get other compile
errors:


[ERROR]
/home/lars/dev/hbase-master/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java:[310,29]
no suitable method found for startSpan(java.lang.String,trace ?
Sa[...]NEVER)
method
org.apache.htrace.Trace.startSpan(java.lang.String,org.apache.htrace.Span)
is not applicable
(argument mismatch; bad type in conditional expression
org.apache.htrace.Sampler<capture#1 of ?> cannot be converted to
org.apache.htrace.Span)
method
org.apache.htrace.Trace.startSpan(java.lang.String,org.apache.htrace.TraceInfo)
is not applicable

...

So it seems that right now HBase master cannot be built with JDK8 _at all_.
We need to fix this.


-- Lars

Re: Building HBase master with JDK8

Posted by Sean Busbey <bu...@cloudera.com>.
Please see current discussion on HBASE-13344

-- 
Sean
On May 31, 2015 1:08 PM, "lars hofhansl" <la...@apache.org> wrote:

I have started to get this when I am trying to build hbase-master with JDK8:


[INFO] Restricted to JDK 1.7 yet jdk.tools:jdk.tools:jar:1.7:system
contains com/sun/xml/internal/xsom/XSNotation.class targeted to JDK
1.8[WARNING] Rule 2:
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.7
Use 'mvn dependency:tree' to locate the source of the banned dependencies.



This was added with HBASE-13344 in the master branch only. How are we
supposed to build with JDK8 now?
When I follow the suggestion (mvn -DcompileSource=1.8) I get other compile
errors:


[ERROR]
/home/lars/dev/hbase-master/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java:[310,29]
no suitable method found for startSpan(java.lang.String,trace ?
Sa[...]NEVER)
method
org.apache.htrace.Trace.startSpan(java.lang.String,org.apache.htrace.Span)
is not applicable
(argument mismatch; bad type in conditional expression
org.apache.htrace.Sampler<capture#1 of ?> cannot be converted to
org.apache.htrace.Span)
method
org.apache.htrace.Trace.startSpan(java.lang.String,org.apache.htrace.TraceInfo)
is not applicable

...

So it seems that right now HBase master cannot be built with JDK8 _at all_.
We need to fix this.


-- Lars