[ 
https://issues.apache.org/jira/browse/HBASE-20187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16397221#comment-16397221
 ] 

Josh Elser commented on HBASE-20187:
------------------------------------

{code:java}
diff --git a/hbase-assembly/pom.xml b/hbase-assembly/pom.xml
index eda6491495..79eeef98d3 100644
--- a/hbase-assembly/pom.xml
+++ b/hbase-assembly/pom.xml
@@ -109,7 +109,7 @@
             </goals>
             <configuration>
               
<outputFile>${project.parent.basedir}/target/cached_classpath_jruby.txt</outputFile>
-              <includeArtifactIds>jruby-complete</includeArtifactIds>
+              <excludeArtifactIds>jline</excludeArtifactIds>
             </configuration>
           </execution>{code}
Is the {{includeArtifactIds}} just unnecessary and that's why you dropped it?
{code:java}
+    if ! $in_dev_env; then  # in dev environment{code}
Comment is now wrong.

Patch works for me locally, in a dev install or a normal tarball install. +1 on 
the minor stuff above

> Shell startup fails with IncompatibleClassChangeError
> -----------------------------------------------------
>
>                 Key: HBASE-20187
>                 URL: https://issues.apache.org/jira/browse/HBASE-20187
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Peter Somogyi
>            Assignee: Balazs Meszaros
>            Priority: Blocker
>         Attachments: HBASE-20187.branch-2.001.patch
>
>
> Starting shell fails with a jline exception.
> Before {{2402f1fd43 - HBASE-20108 Remove jline exclusion from ZooKeeper}} the 
> shell starts up.
> {noformat}
> $ ./bin/hbase shell
> 2018-03-13 13:56:58,975 WARN  [main] util.NativeCodeLoader: Unable to load 
> native-hadoop library for your platform... using builtin-java classes where 
> applicable
> HBase Shell
> Use "help" to get list of supported commands.
> Use "exit" to quit this interactive shell.
> Version 2.0.0-beta-2, rc998e8d5f9ca3013d175ed447116c0734192f36c, Tue Mar 13 
> 13:49:59 CET 2018
> [ERROR] Terminal initialization failed; falling back to unsupported
> java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but 
> interface was expected
>       at jline.TerminalFactory.create(TerminalFactory.java:101)
>       at jline.TerminalFactory.get(TerminalFactory.java:159)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:438)
>       at 
> org.jruby.javasupport.JavaMethod.invokeStaticDirect(JavaMethod.java:360)
>       at 
> org.jruby.java.invokers.StaticMethodInvoker.call(StaticMethodInvoker.java:40)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
>       at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:328)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:141)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:145)
>       at org.jruby.RubyClass.newInstance(RubyClass.java:994)
>       at 
> org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)
>       at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
>       at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:339)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
>       at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:355)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:298)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
>       at org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:355)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:83)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
>       at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)
>       at 
> org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
>       at 
> org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:77)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:144)
>       at 
> org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:130)
>       at 
> org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:318)
>       at 
> org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
>       at 
> Users.peter_dot_somogyi.Cloudera.hbase.bin.$_dot_dot_.bin.hirb.invokeOther135:print_banner(/Users/peter.somogyi/Cloudera/hbase/bin/../bin/hirb.rb:166)
>       at 
> Users.peter_dot_somogyi.Cloudera.hbase.bin.$_dot_dot_.bin.hirb.RUBY$script(/Users/peter.somogyi/Cloudera/hbase/bin/../bin/hirb.rb:166)
>       at 
> java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
>       at org.jruby.ir.Compiler$1.load(Compiler.java:95)
>       at org.jruby.Ruby.runScript(Ruby.java:827)
>       at org.jruby.Ruby.runNormally(Ruby.java:746)
>       at org.jruby.Ruby.runNormally(Ruby.java:764)
>       at org.jruby.Ruby.runFromMain(Ruby.java:577)
>       at org.jruby.Main.doRunFromMain(Main.java:417)
>       at org.jruby.Main.internalRun(Main.java:305)
>       at org.jruby.Main.run(Main.java:232)
>       at org.jruby.Main.main(Main.java:204)
> Took 0.0094 seconds
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to