ścieżka klasycznego skryptu
Piszę skrypt w Groovy i chciałbym, żeby ktoś mógł go uruchomić po prostu uruchamiając./myscript.groovy
. Jednak ten skrypt wymaga biblioteki innej firmy (MySQL JDBC) i nie wiem, w jaki sposób udostępnić ten skrypt innym niż za pośrednictwem-classpath
lub-cp
argument, np.
`./monitor-vouchers.groovy -cp /path/to/mysql-lib.jar`
Z powodów, dla których nie będę tutaj wchodził, nie jest możliwe udostępnienie skryptu lokalizacji JAR za pomocą argumentu -classpath / -cp. Czy jest jakiś sposób na załadowanie pliku JAR z samego skryptu? Próbowałem użyć@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
Ale powoduje to następujący błąd:
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)
Czy istnieje sposób na wykonanie tego skryptu za pomocą just./monitor-vouchers.groovy