I was working with some Groovy scripts in IntelliJ today – a first for me. I came up against a couple of simple getting-started issues… I’m just making notes about them here. There are notes here on two errors I came across: “Unable to resolve class” and “Configure Groovy SDK”.
- “Configure Groovy SDK”:
- On command line:
- This: brew install groovy
- Then to run a script: groovy path/to/file.groovy
- In IntelliJ:
- Install the groovy plugin
- Open the folder containing the scripts
- When it says “Groovy SDK is not configured for module ‘my-module’” or “Configure Groovy SDK”
- Click the link with the “Configure Groovy SDK” message (top right in IntelliJ)
- Click Create
- (Find your Groovy installation:
- On the command line: brew ls groovy
- This will give you something like this: /usr/local/Cellar/groovy/2.5.2/bin/groovy
- Then you need to find your libexec folder – probably at same level as bin folder – in my case it’s here: /usr/local/Cellar/groovy/2.5.2/libexec)
- Find the libexec folder, select it and click open
- More here: https://stackoverflow.com/questions/46123890/configuring-groovy-sdk-within-intellij-idea
- Now you can run a Groovy script by clicking the big green Play button, top right
- To pass parameters into a script:
- Top right, click the little down arrow next to the name of the script
- Click Edit configurations
- Fill in Program arguments
2. “Unable to resolve class”
- This can happen when your classes are in a package and you try to run your script from the command line.
- It will start in the folder the class is in, then from there it will look for a further folder structure – eg if your package is clare.is.cool then it will look for the folder structure clare/is/cool from the path of the groovy script.
- The solution is to set the classpath on the command line when running the script, and start further back in the directory tree.
- For instance if your class is here: c:\overall\path\clare\is\cool\MyScript.groovy
- Then you run it like this: groovy -cp c:\overall\path c:\overall\path\clare\is\cool\MyScript.groovy
- (or if you have already navigated to c:\overall\path\clare\is\cool, you can just run groovy -cp c:\overall\path MyScript.groovy)
More here: https://stackoverflow.com/questions/45072923/groovy-unable-to-resolve-class