我制作了一個自定義的 maven Archetype 并基于Maven 檔案,將檔案archetype-post-generate.groovy添加到src/main/resources/META-INF檔案夾中。
在這個 groovy 腳本中,我想連接到資料庫并根據資料采取一些行動。
腳本如下:
import groovy.sql.Sql
Sql.withInstance(
'jdbc:sqlserver://localhost:1433;databaseName=db;',
'sa',
'pass',
'com.microsoft.sqlserver.jdbc.SQLServerDriver') { sql ->
List rows = sql.rows('SELECT top 5 id, description FROM Project')
for(row in rows) {
println row.getProperty("id")
println row.getProperty("description")
println "/*************\\"
}
}
在我用它生成模塊時安裝原型后,一旦執行腳本,就會引發以下錯誤:
Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.0:generate (default-cli) on project standalone-pom: startup failed:
Script1.groovy: 1: unable to resolve class groovy.sql.Sql
@ line 1, column 1.
import groovy.sql.Sql
^
1 error
有什么辦法可以解決這個問題嗎?
uj5u.com熱心網友回復:
根據@emilles 的指導和Groovy 檔案@Grab,我們可以使用注解將任何庫添加到腳本的類路徑中。
例如:
@Grab('org.codehaus.groovy:groovy-sql:2.4.16')
@Grab('com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre8')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/484340.html
上一篇:NoClassDefFoundError:org/apache/storm/kafka/spout/KafkaSpoutConfig
