groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith Suderman <suder...@anc.org>
Subject Re: Start shell/REPL without launching java monitor?
Date Mon, 15 Oct 2018 14:43:47 GMT
Hi Tison,

I am not sure what you are asking... groovysh is the "Groovy Shell" so you should see a terminal
window named "GroovyShell" launched that allows you to execute Groovy commands interactively.
 This is the expected behaviour.  Or are you just pointing out the exception when quitting
groovysh?  How did you kill groovysh?  With the Unix `kill` command (or Windows equivalent)
or using one of the "exit" commands in the shell itself (:exit, :x, etc)?

I suspect you may simply want the `groovy` command that you can use to run Groovy scripts/programs.


$ echo "println 'hello world'" > test.groovy
$ cat test.groovy
println 'hello world'
$ groovy test.groovy 
hello world

Hope this helps,
Keith

> On Oct 11, 2018, at 10:54 PM, Tzu-Li Chen <wander4096@gmail.com <mailto:wander4096@gmail.com>>
wrote:
> 
> Hi Groovy community,
> 
> I am new to Groovy and when running `groovysh` with "3.0.0-alpha-3, JVM: 1.8.0_171" on
macOS, I see a, hmm, Java monitor(?), named "GroovyShell" launched.
> 
> If I kill it, process `groovysh` quit with exception below. I'd like to know if we can
suppress the launch of "GroovyShell" process. It switch the focus of cursor and quite annoying
for me.
> 
> Best,
> tison.
> 
> [printStackTrace]:
> 
> ➜  ~ groovysh
> Groovy Shell (3.0.0-alpha-3, JVM: 1.8.0_171)
> Type ':help' or ':h' for help.
> -------------------------------------------------------------------------------
> groovy:000> 2018-10-12 10:51:09.084 java[34387:1479007] java.lang.SecurityException:
Use of System.exit() is forbidden!
> 	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:423)
> 	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
> 	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
> 	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:238)
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:250)
> 	at org.codehaus.groovy.tools.shell.util.NoExitSecurityManager.checkExit(NoExitSecurityManager.groovy:51)
> 	at java.lang.Runtime.exit(Runtime.java:107)
> 	at java.lang.System.exit(System.java:971)
> 	at com.apple.eawt._AppEventHandler.performQuit(_AppEventHandler.java:145)
> 	at com.apple.eawt.QuitResponse.performQuit(QuitResponse.java:51)
> 	at com.apple.eawt._AppEventHandler$_QuitDispatcher.performDefaultAction(_AppEventHandler.java:390)
> 	at com.apple.eawt._AppEventHandler$_AppEventDispatcher.dispatch(_AppEventHandler.java:512)
> 	at com.apple.eawt._AppEventHandler.handleNativeNotification(_AppEventHandler.java:202)
> 



----------------------
Keith Suderman
Research Associate
Department of Computer Science
Vassar College, Poughkeepsie NY
suderman@cs.vassar.edu





Mime
View raw message