Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SBT Scala Console no longer works on Windows 7 #141

Open
mkelly1495 opened this issue Mar 5, 2015 · 26 comments
Open

SBT Scala Console no longer works on Windows 7 #141

mkelly1495 opened this issue Mar 5, 2015 · 26 comments

Comments

@mkelly1495
Copy link

Previous version of the SBT Console worked fine on Windows 7. However, version 1.7.0.0 of the SBT Project module produces the following error when an SBT Console is opened:

SBT -Completion: -Exit: exit -Help: help.
sbt-launch=C:\Users\biowatch\AppData\Roaming\NetBeans\8.0\modules\ext\org.netbeans.libs.sbt\1\org-scala-sbt\sbt-launch.jar
[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)
at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at sbt.ConsoleLogger$.ansiSupported(ConsoleLogger.scala:85)
at sbt.ConsoleLogger$.(ConsoleLogger.scala:79)
at sbt.ConsoleLogger$.(ConsoleLogger.scala)
at sbt.GlobalLogging$.initial(GlobalLogging.scala:43)
at sbt.StandardMain$.initialGlobalLogging(Main.scala:60)
at sbt.StandardMain$.initialState(Main.scala:69)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 32 more

[info] Loading project definition from C:\Users\biowatch\Documents\Projects\STT\Web\stt-server\project
[info] Set current project to STT Server (in build file:/C:/Users/biowatch/Documents/Projects/STT/Web/stt-server/)
[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)
at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at sbt.JLine$.sbt$JLine$$terminal(LineReader.scala:82)
at sbt.JLine$.withTerminal(LineReader.scala:85)
at sbt.JLine$.usingTerminal(LineReader.scala:93)
at sbt.JLine$.createReader(LineReader.scala:99)
at sbt.FullReader.(LineReader.scala:129)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:163)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 52 more

[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)
at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at jline.console.ConsoleReader.(ConsoleReader.java:227)
at jline.console.ConsoleReader.(ConsoleReader.java:219)
at jline.console.ConsoleReader.(ConsoleReader.java:207)
at sbt.JLine$$anonfun$createReader$1.apply(LineReader.scala:100)
at sbt.JLine$$anonfun$createReader$1.apply(LineReader.scala:99)
at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:95)
at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:93)
at sbt.JLine$.withTerminal(LineReader.scala:86)
at sbt.JLine$.usingTerminal(LineReader.scala:93)
at sbt.JLine$.createReader(LineReader.scala:99)
at sbt.FullReader.(LineReader.scala:129)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:163)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 58 more

[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)
at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at sbt.JLine$.sbt$JLine$$terminal(LineReader.scala:82)
at sbt.JLine$.withTerminal(LineReader.scala:85)
at sbt.JLine$.usingTerminal(LineReader.scala:93)
at sbt.JLine$.createReader(LineReader.scala:99)
at sbt.FullReader.(LineReader.scala:129)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:163)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 52 more

[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
[info] Set current project to STT Server (in build file:/C:/Users/biowatch/Documents/Projects/STT/Web/stt-server/)

at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)
at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at jline.console.ConsoleReader.(ConsoleReader.java:227)
at jline.console.ConsoleReader.(ConsoleReader.java:219)
at jline.console.ConsoleReader.(ConsoleReader.java:207)
at sbt.JLine$$anonfun$createReader$1.apply(LineReader.scala:100)
at sbt.JLine$$anonfun$createReader$1.apply(LineReader.scala:99)
at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:95)
at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:93)
at sbt.JLine$.withTerminal(LineReader.scala:86)
at sbt.JLine$.usingTerminal(LineReader.scala:93)
at sbt.JLine$.createReader(LineReader.scala:99)
at sbt.FullReader.(LineReader.scala:129)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:163)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 58 more

[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)
at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at sbt.JLine$.sbt$JLine$$terminal(LineReader.scala:82)
at sbt.JLine$.withTerminal(LineReader.scala:85)
at sbt.JLine$.usingTerminal(LineReader.scala:93)
at sbt.JLine$.createReader(LineReader.scala:99)
at sbt.FullReader.(LineReader.scala:129)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:163)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 52 more

[ERROR] Failed to construct terminal; falling back to unsupported
java.io.IOException: Cannot run program "sh": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:183)
at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:173)
at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:168)
at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72)
at jline.internal.TerminalLineSettings.(TerminalLineSettings.java:52)
at jline.UnixTerminal.(UnixTerminal.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at jline.TerminalFactory.getFlavor(TerminalFactory.java:168)

at jline.TerminalFactory.create(TerminalFactory.java:66)
at jline.TerminalFactory.get(TerminalFactory.java:159)
at jline.console.ConsoleReader.(ConsoleReader.java:227)
at jline.console.ConsoleReader.(ConsoleReader.java:219)
at jline.console.ConsoleReader.(ConsoleReader.java:207)
at sbt.JLine$$anonfun$createReader$1.apply(LineReader.scala:100)
at sbt.JLine$$anonfun$createReader$1.apply(LineReader.scala:99)
at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:95)
at sbt.JLine$$anonfun$usingTerminal$1.apply(LineReader.scala:93)
at sbt.JLine$.withTerminal(LineReader.scala:86)
at sbt.JLine$.usingTerminal(LineReader.scala:93)
at sbt.JLine$.createReader(LineReader.scala:99)
at sbt.FullReader.(LineReader.scala:129)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:163)
at sbt.BasicCommands$$anonfun$shell$1.apply(BasicCommands.scala:160)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$$anonfun$command$1$$anonfun$apply$1.apply(Command.scala:29)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:98)
at sbt.State$$anon$1.process(State.scala:184)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:98)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
at sbt.MainLoop$.next(MainLoop.scala:98)
at sbt.MainLoop$.run(MainLoop.scala:91)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:70)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:65)
at sbt.Using.apply(Using.scala:24)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:65)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:48)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:32)
at sbt.MainLoop$.runLogged(MainLoop.scala:24)
at sbt.StandardMain$.runManaged(Main.scala:53)
at sbt.xMain.run(Main.scala:28)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:129)
at xsbt.boot.Launch$.run(Launch.scala:109)
at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:36)
at xsbt.boot.Launch$.launch(Launch.scala:117)
at xsbt.boot.Launch$.apply(Launch.scala:19)
at xsbt.boot.Boot$.runImpl(Boot.scala:44)
at xsbt.boot.Boot$.main(Boot.scala:20)
at xsbt.boot.Boot.main(Boot.scala)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 58 more

@tyrius02
Copy link

I'm pretty sure this was broken in commit 9c48a9c.

Specifically around line 170 in the SBTConsoleTopComponent.scala file where -Djline.terminal is added to the sbt args.

@mkelly1495
Copy link
Author

After some searching I discovered that it was expecting 'sh' command to be on the path. I just added the Cygwin bin directory to the path and everything worked fine. I guess previous versions did not have this requirement.

@kyc1109
Copy link

kyc1109 commented Oct 13, 2015

Hi mkelly1495
I added Cygwin bin directory in OS path and that is work.

Thanks.

@mkelly1495
Copy link
Author

Hello,

Just add the Cygwin bin directory to the PATH environment variable (use the OS environment variables dialog). Make sure to restart netbeans after changing the environment variable. Then it should work. Good luck.

Mike Kelly

On Oct 12, 2015, at 11:40 PM, kyc1109 [email protected] wrote:

Hi mkelly1495
Could you tell me how to add Cygwin bin directory to the path? the path is means OS path or IDE (netbeans) or sbt?

Thanks.


Reply to this email directly or view it on GitHub.

@kyc1109
Copy link

kyc1109 commented Oct 14, 2015

Hi mkelly1495

Thanks for your kindly reply.
Following your reply it can work.

Thanks.
2015/10/13 下午8:14於 "mkelly1495" [email protected]寫道:

Hello,

Just add the Cygwin bin directory to the PATH environment variable (use
the OS environment variables dialog). Make sure to restart netbeans after
changing the environment variable. Then it should work. Good luck.

Mike Kelly

On Oct 12, 2015, at 11:40 PM, kyc1109 [email protected] wrote:

Hi mkelly1495
Could you tell me how to add Cygwin bin directory to the path? the path
is means OS path or IDE (netbeans) or sbt?

Thanks.


Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub
#141 (comment).

@mgenereu
Copy link

Why is this closed? Cygwin isn't a requirement for this plugin. This source setting the terminal type to unix on a windows machine causes jline to call sh instead of using the windows counter parts. This is broken. How do reopen? If confirmed, I can create a pull request.

@giappv
Copy link

giappv commented Jan 14, 2016

shcommand
I met the same issue, I added C:\cygwin64\bin to environment variable so netbeans can understand sh command.

Thanks tyrius02

@amitabh123
Copy link

It should not be closed. Cygwin is not a requirement. Now I am forced to install cygwin. The Scala netbeans plugin is terribly broken. Even the official Scala team does not support Netbeans (an awesome IDE in my opinion). Hopefully someone will join hands with the developer to make it better.

@mgenereu
Copy link

@dcaoyuan might not be seeing these messages. @amitabh123 please try to be nice. This plugin and @dcaoyuan has treated me very well professionally and personally on my Scala journey.

@amitabh123
Copy link

@mgenereu, please don't get me wrong. I am really impressed by and grateful to @dcaoyuan for the awesome plugin he has created. What annoys me is that apart from him, there seems to be not many people interested in developing this plugin. The Scala team does not even "officially" support it. I have tried the officially supported ones and this NB plugin (despite its bugs) is much better! I'm just worried about the future of this plugin.

@dcaoyuan
Copy link
Owner

Don't worry, I'll push this plugin moving forward, since I'm using it everyday.

@dcaoyuan dcaoyuan reopened this Nov 30, 2016
@mgenereu
Copy link

I'm going to see how far I can get in finding out the change that started requiring 'sh'. It may be just for Linux or need to be removed.

@mgenereu
Copy link

And thank you, @dcaoyuan !

@amitabh123
Copy link

amitabh123 commented Nov 30, 2016

@dcaoyuan since you are reading this, a but unrelated, but can we please get Ant support back for Scala? SBT is a beast and has many quirks.

@tyrius02
Copy link

tyrius02 commented Nov 30, 2016

@mgenereu Please see my comment from May 2015 where I identified the commit that broke this.

@dcaoyuan
Copy link
Owner

since you are reading this, a but unrelated, but can we please get Ant support back for Scala? SBT is a beast and has many quirks.

@amitabh123 Ant does not support incremental compiling

@amitabh123
Copy link

amitabh123 commented Dec 8, 2016

@dcaoyuan a personal thanks for creating the plugin. My Scala journey would have been impossible without it. Please keep up the good work. Also, I've more or less moved to Linux and the plugin is much more stable there.

@mgenereu
Copy link

Still working on getting the plugin to compile on Windows. Tried doing it all from NetBeans itself but I got errors. Tried installing Maven on Windows and it's having trouble finding Java. Will keep at it. Anyone want to help me, please chime in.

@mgenereu
Copy link

@tyrius02 Would you mind giving me a hand? We could collaborate on a VM?

@amitabh123
Copy link

@dcaoyuan Regarding the Ant support, while I agree that sbt is better for incremental builds, lots of older projects are ant based and it will be good to have both. Is it too much work? I guess the ant components won't be changing a lot.

@tyrius02
Copy link

@mgenereu I can certainly help. I'm not using Scala much these days but I do try to keep my ear to the ground and I dislike the IntelliJ solution enough that I'm more than willing to help out on an alternative.

@tyrius02
Copy link

tyrius02 commented Jan 10, 2017

@dcaoyuan Is there an ETA on when the plug-in will be verified with NB 8.2?

@mgenereu
Copy link

@tyrius02 Is there a way to contact you directly?

@tyrius02
Copy link

tyrius02 commented Jan 17, 2017

I think I have a workable solution but I'm having a bit of a hard time testing it out. When I run or debug the plug-in without my changes NB complains to me about stuff.

I've got my changes sitting in a fork of the repo: https://github.com/tyrius02/nbscala.

tyrius02 pushed a commit to tyrius02/nbscala that referenced this issue Jan 18, 2017
@tyrius02
Copy link

tyrius02 commented Jan 18, 2017

I have a working solution to the problem in my fork. After reading the source code for jline it became apparent that it is unnecessary to pass -Djline.terminal unless you really want the UnsupportedTerminal. On Windows jline will use WindowsTerminal, else it'll use UnixTerminal. If either fail it'll fall back to UnsupportedTerminal.
So it seemed to me that the only thing needed was to pass -Djline.WindowsTerminal.directConsole=false in the case of Windows, otherwise nothing.

I've tested this out on both Windows and Linux (Ubuntu 16.04) and it seems to work. I don't have access to a Mac so I cannot test it out there.

I did run into one problem. When I create a new SBT project or open an existing one I get this error:

java.lang.IllegalStateException: Problem in some module which uses Window System: Window System API is required to be called from AWT thread only, see http://core.netbeans.org/proposals/threading/
at org.netbeans.core.windows.WindowManagerImpl.warnIfNotInEDT(WindowManagerImpl.java:1764)
at org.netbeans.core.windows.WindowManagerImpl.topComponentIconChanged(WindowManagerImpl.java:1379)
at org.openide.windows.TopComponent.setIcon(TopComponent.java:1085)
at org.netbeans.modules.scala.sbt.console.SBTConsoleTopComponent.initComponents(SBTConsoleTopComponent.scala:74)
at org.netbeans.modules.scala.sbt.console.SBTConsoleTopComponent.(SBTConsoleTopComponent.scala:68)
at org.netbeans.modules.scala.sbt.console.SBTConsoleTopComponent$.apply(SBTConsoleTopComponent.scala:269)
at org.netbeans.modules.scala.sbt.console.SBTConsoleTopComponent$.openInstance(SBTConsoleTopComponent.scala:307)
at org.netbeans.modules.scala.sbt.console.SBTConsoleTopComponent$.openInstance(SBTConsoleTopComponent.scala:296)
at org.netbeans.modules.scala.sbt.project.SBTResolver.triggerSbtResolution(SBTResolver.scala:69)
at org.netbeans.modules.scala.sbt.project.SBTResolver.projectContext(SBTResolver.scala:84)
at org.netbeans.modules.scala.sbt.project.SBTResolver.getResolvedClassPath(SBTResolver.scala:288)
at org.netbeans.modules.scala.sbt.classpath.SBTClassPath.org$netbeans$modules$scala$sbt$classpath$SBTClassPath$$getResolvedClassPath(SBTClassPath.scala:58)
at org.netbeans.modules.scala.sbt.classpath.SBTClassPath.getResources(SBTClassPath.scala:50)
at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:372)
at org.netbeans.api.java.classpath.ClassPath.toString(ClassPath.java:778)
at org.netbeans.api.java.classpath.ClassPath.toString(ClassPath.java:847)
at org.netbeans.api.java.classpath.ClassPath.toString(ClassPath.java:857)
at org.netbeans.modules.parsing.impl.indexing.LogContext.addPaths(LogContext.java:910)
at org.netbeans.modules.parsing.impl.indexing.PathRegistry.scheduleFirer(PathRegistry.java:963)
at org.netbeans.modules.parsing.impl.indexing.PathRegistry.resetCacheAndFire(PathRegistry.java:951)
at org.netbeans.modules.parsing.impl.indexing.PathRegistry.access$500(PathRegistry.java:91)
at org.netbeans.modules.parsing.impl.indexing.PathRegistry$Listener.pathsAdded(PathRegistry.java:1226)
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.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:487)
at com.sun.proxy.$Proxy2.pathsAdded(Unknown Source)
at org.netbeans.api.java.classpath.GlobalPathRegistry.register(GlobalPathRegistry.java:230)
at org.netbeans.modules.scala.sbt.project.SBTProjectOpenedHook.projectOpened(SBTProjectOpenedHook.scala:22)
at org.netbeans.spi.project.ui.ProjectOpenedHook$1.projectOpened(ProjectOpenedHook.java:85)
at org.netbeans.modules.project.ui.OpenProjectList.notifyOpened(OpenProjectList.java:1298)
at org.netbeans.modules.project.ui.OpenProjectList.doOpenProject(OpenProjectList.java:1379)
at org.netbeans.modules.project.ui.OpenProjectList.open(OpenProjectList.java:823)
at org.netbeans.modules.project.ui.OpenProjectList$6.run(OpenProjectList.java:675)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1443)
at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:68)
at org.openide.util.lookup.Lookups.executeWith(Lookups.java:303)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2058)

@tyrius02
Copy link

This last problem is addressed by issue #176 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants