繁体   English   中英

Maven 原型在执行 Groovy 脚本时引发错误

[英]Maven archetype raise error on executing Groovy script

我制作了一个自定义 maven 原型,并基于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

有什么办法可以解决这个问题吗?

根据@emilles 的指导和Groovy 文档,我们可以使用@Grab注释将任何库添加到脚本的类路径中。
例如:

@Grab('org.codehaus.groovy:groovy-sql:2.4.16')
@Grab('com.microsoft.sqlserver:mssql-jdbc:8.4.1.jre8')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM