groovy script classpath

Estou escrevendo um script no Groovy e gostaria que alguém fosse capaz de executá-lo simplesmente executando./myscript.groovy. No entanto, este script requer uma biblioteca de terceiros (MySQL JDBC), e eu não sei de qualquer maneira de fornecer isso para o script que não seja através de um-classpath ou-cp argumento, e.

`./monitor-vouchers.groovy -cp /path/to/mysql-lib.jar`

Por razões que não vou entrar aqui, não é realmente possível fornecer o local do JAR para o script usando o argumento -classpath / -cp. Existe alguma maneira que eu possa carregar o JAR de dentro do próprio script? Eu tentei usar@Grab

import groovy.sql.Sql


@Grab(group='mysql', module='mysql-connector-java', version='5.1.19')
def getConnection() {
    def dbUrl = 'jdbc:mysql://database1.c5vveqm7rqgx.eu-west-1.rds.amazonaws.com:3306/vouchers_prod'
    def dbUser = 'pucaroot'
    def dbPassword = 'password'
    def driverClass = "com.mysql.jdbc.Driver"

    return Sql.newInstance(dbUrl, dbUser, dbPassword, driverClass)
}

getConnection().class

Mas isso causa o seguinte erro:

Caught: java.sql.SQLException: No suitable driver
java.sql.SQLException: No suitable driver
        at monitor-vouchers.getConnection(monitor-vouchers.groovy:13)
        at monitor-vouchers.run(monitor-vouchers.groovy:17)

Existe uma maneira que eu possa executar este script usando apenas./monitor-vouchers.groovy

questionAnswers(2)

yourAnswerToTheQuestion