Groovy
Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax
Install
1 cp apache-groovy-binary-3.0.3.zip ~/
2 cd ~/
3 unzip apache-groovy-binary-3.0.3.zip
4 nano ~/.bashrc
5 # export GROOVY_HOME=$HOME/groovy-3.0.3
6 # PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/user/jdk-11.0.2/bin:/home/user/scripts
7 # PATH=$PATH:/opt/mssql-tools/bin/:$GROOVY_HOME/bin
8 # export PATH
9 . ~/.bashrc
10 groovysh
11 # print("aaa")
12 groovyConsole
groovyc - compiler
nano MyClass.groovy
class X{ int amount } def x = new X() x.amount = 1 println("${x.amount}")
groovyc MyClass.groovy
java -cp . -jar $GROOVY_HOME/lib/groovy-3.0.3.jar MyClass
java -jar $GROOVY_HOME/lib/groovy-3.0.3.jar MyClass
swing - groovy
import groovy.swing.SwingBuilder import java.awt.BorderLayout as BL count = 0 def actionPerformedFn(){ count++; textlabel.text = "Clicked ${count} time(s)." println "clicked" } def quitFn(){ System.exit(0) } new SwingBuilder().edt { frame(title: 'Frame', size: [300, 300], show: true) { borderLayout() textlabel = label(text: 'Click the button!', constraints: BL.NORTH) button(text:'Click Me', actionPerformed: {actionPerformedFn()}, constraints:BL.WEST) button(text:'Quit', actionPerformed: {quitFn()}, constraints:BL.EAST) } }
- groovyc swing.groovy
- java -cp .:$GROOVY_HOME/lib/groovy-3.0.3.jar:$GROOVY_HOME/lib/groovy-swing-3.0.3.jar swing