Invalid duplicate class definition error (Groovy)
By Steve Claridge on 2014-03-15.
Invalid duplicate class definition of class steve.Test : The source /steve/Test.groovy contains at least two definitions of the class steve.Test
Groovy treats your .groovy file as either a script file or as a class definition file. A script file is a file that contains code that is not inside a class definition, when Groovy compiles a script file it implicitly creates a class to hold your code and the implicit class is given the name of the .groovy file. So if you have this:
package steve class Test {
public dostuff() {
def str = "inside a class"
}
} println(["some","code","outside","of","a","class"].join(" "))
Then the compiler will try and create a class called Test (same as the file name) to hold the println line and the error then occurs because there are now two Test class definitions.